sql = update返回成功的消息,但没有对db进行任何更改

时间:2013-12-29 15:52:44

标签: php sql

我正在尝试使用以下代码更新数据库:

// 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");

// update data in mysql database
$sql="UPDATE $tbl_name SET FirstName='$FirstName', LastName='$LastName', >>>>Email='$Email' WHERE id='$id'";
$result = mysql_query($sql) or die(mysql_error());

// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='list_records.php'>View result</a>";
}

else {
echo "ERROR";
}

?> 

我收到了成功的消息,但信息没有改变。我意识到这个代码是开放的黑客攻击,我会解决这个问题,但我想先让它工作。

2 个答案:

答案 0 :(得分:0)

如果没有错误并且您修改了零行,则必须表示您要么写入已经存在的相同信息,要么没有符合条件的行。因此,要么您没有具有给定ID的行,要么您为记录中已存在的每个字段写入相同的值。

答案 1 :(得分:0)

删除更新语句中的>>>>代码。

UPDATE $tbl_name SET FirstName='$FirstName', LastName='$LastName',
Email='$Email' WHERE id='$id'"

同时检查表中是否存在$id