簡體   English   中英

在更新數據庫查詢中發生問題?

[英]Issue In Update database Query?

我是php和數據庫中的新手。 我面臨更新數據庫中表的問題。 我在輸入字段中獲取值,但是當我更新查詢時無法正常工作。

    $edit_id=$_GET['edit_id'];
    $get_data = mysqli_query($con, "SELECT * FROM userform WHERE id='$edit_id' ");
    $run = mysqli_fetch_array($get_data);
    if (!$run) {
        echo "something went wrong";
    }
    else{
        echo "Working Fine";
    }
    if(isset($_POST['update'])){
        $name = $_POST['name'];
        $email = $_POST['email'];
        $subjects = $_POST['subjects'];
        $phone = $_POST['phone'];
        $country = $_POST['country'];
        $city = $_POST['city'];
        $address = $_POST['address'];
        $position = $_POST['position'];
        $about = $_POST['about'];
        $query = mysqli_query($con, "UPDATE userform SET name='$name', email='$email', subjects='$subjects', phone='$phone', country='$country', city='$city', address='$address', position='$position', about='$about', WHERE id='$edit_id' ");      
        //$run = mysqli_query($query);          
        if ($query) {
            echo "<script>alert('User Date Inserted Successfully'); </script>";
            //header('location:records.php');            
        }
        else{
            echo "<br> Something went wrong";
        }
        exit();
    }
?>
<div id="outer">
    <form method="POST" enctype="multipart/form-data">
        <input type="text" name="name" value="<?php echo $run['name']; ?>" >
        <input type="email" name="email" value="<?php echo $run['email']; ?>" >
        <input type="text" name="subjects" value="<?php echo $run['subjects']; ?>" >
        <input type="text" name="phone" value="<?php echo $run['phone']; ?>" >
        <input type="text" name="country" value="<?php echo $run['country']; ?>" >
        <input type="text" name="city" value="<?php echo $run['city'] ?>" >
        <input type="text" name="address" value="<?php echo $run['address']; ?>" >
        <input type="text" name="position" value="<?php echo $run['position']; ?>" >
        <textarea name="about" value="<?php echo $run['about']; ?>" ></textarea>
        <input id="sbmt" type="submit" value="Update Value" name="update">
    </form>

</div>

從您的更新查詢中刪除尾隨(,逗號) WHERE之前有一個逗號,它使編譯器認為應該有另一列需要更新。 所以就刪除它。 所以去除之后$about

首先,您必須在更新查詢中的'$about'之后刪除, (逗號)。 它應該像下面這樣。

$query = mysqli_query($con, "UPDATE `userform` SET name='$name', email='$email', subjects='$subjects', phone='$phone', country='$country', city='$city', address='$address', position='$position', about='$about' WHERE id='$edit_id' "); 

還有一件事,如果您使用textarea作為輸入,則應將'替換為\\'以更新mysql中的數據。因此,您的$run['about']應該如下替換。

$run['about']=str_replace("'","\\'",$run['about']);

讓我們先進行更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM