我已经为 mysql 数据库中的更新信息创建了一个 php 文件。它将从 html 表单获取输入,然后通过匹配 ID 更新数据。这是它:
<?
$con = mysql_connect("localhost","root","");
mysql_select_db("workshop", $con);
$sql = "UPDATE apply
SET staffname=' ".$_POST['name']." ',
staffno=' ".$_POST['contact']." ',
staffemail=' ".$_POST['mail']." ',
staffaddress=' ".$_POST['address']." ',
paytype=' ".$_POST['paytype']."'
WHERE
staffid=' ".$_POST['ic']." '";
$result = mysql_query($sql);
printf("Records updated: %d\n", mysql_affected_rows());
if($result){
echo "Successful";
}
else {
echo "ERROR";
}
mysql_close($con);
?>
它执行得很好,但问题是对表格行没有影响。即使我在 phpmyadmin 上运行查询,但运气不好!谁能告诉我错误在哪里?谢谢!
最佳答案
使用下面的查询:
$sql = "UPDATE `apply`
SET `staffname` = '" . mysql_escape_string($_POST['name']) . "',
`staffno` = '" . mysql_escape_string($_POST['contact']) . "',
`staffemail` = '" . mysql_escape_string($_POST['mail']) . "',
`staffaddress` = '" . mysql_escape_string($_POST['address']) . "',
`paytype` = '" . mysql_escape_string($_POST['paytype']) . "'
WHERE `staffid` = '" . mysql_escape_string($_POST['ic']) . "'";
编辑
使用 PDO 或 mysqli 代替 mysql_* 函数总是更好 但目前上述解决方案可能有效。
关于php - mysql 查询执行成功但行没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13815122/