簡體   English   中英

MySQL不更新PHP形式

[英]mysql not updating php form

我有一個內容數據庫。

我有一個頁面,顯示所有記錄的表。 您可以單擊所需的任何記錄的“編輯”,當您單擊“編輯”時,它會將您重定向到新表單,並將所有信息填充到某些表單域中。

當您編輯表單值並單擊提交時,應該更新數據庫中的記錄。

更新時,我收到一條成功消息,但記錄實際上並未更新。

form.php:

    <?php
            $emp_id= ($_GET["id"]);


              $sql =    "SELECT * FROM people
                        WHERE id='$emp_id' LIMIT 1";
              $result = mysql_query($sql);
              $row_people = mysql_fetch_array($result);
             ?>

              <form method="post" action="update.php?id=<?php echo "$emp_id" ?>">
              <input type="hidden" name="id" value="<?php echo "$row_people[id]"; ?>">

                <fieldset>
                    <legend><b>Name</b></legend>
                        First Name:<input type="text" name="first_name" size="20" value="<?php echo "$row_people[first_name]"; ?>">
                        Last Name:<input type="text" name="last_name" size="40" value="<?php echo "$row_people[last_name]"; ?>">
                </fieldset>

update.php

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="ogs"; // Database name
$tbl_name="people"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$emp_id= ($_GET["id"]);
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];

// update data in mysql database
$sql="UPDATE $tbl_name SET first_name='$first_name', last_name='$last_name' WHERE id='$emp_id' LIMIT 1";
$result=mysql_query($sql);

// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
}

else {
echo "ERROR";
}

?> 

不知道我在想什么。

如果我將查詢中的$ first_name更改為實際文本,它會更新正常。

所以我假設我的form.php或$ _POST有問題嗎?

Form.php文件中的$row_people[first_name]更改為$row_people['first_name'] idlast_name字段也相同。

<?php
$emp_id= ($_GET["id"]);
$id = 0; $firstName = ''; $lastName = '';

$sql = "SELECT * FROM people
        WHERE id='$emp_id' LIMIT 1";
$result = mysql_query($sql);
$row_people = mysql_fetch_array($result);

if(!empty($row_people)) {
    $id = $row_people['id'];
    $firstName = $row_people['first_name'];
    $lastName = $row_people['last_name'];
}
?>

<form method="post" action="update.php?id=<?php echo "$emp_id" ?>">
    <input type="hidden" name="id" value="<?php echo $id; ?>">
    <fieldset>
        <legend><b>Name</b></legend>
        First Name:<input type="text" name="first_name" size="20" value="<?php echo $firstName; ?>">
        Last Name:<input type="text" name="last_name" size="40" value="<?php echo $lastName; ?>">
    </fieldset>
</form>

暫無
暫無

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

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