php - mysql 查询执行成功但行没有变化

标签 php mysql phpmyadmin

我已经为 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/

相关文章:

PHP - 向用户发送文件

PHP 删除标点符号(无破折号)

javascript - 我收到 'Uncaught Reference Error: moment is not defined' 错误。我怎样才能解决这个问题?

php - 将标签设置为由 zend 框架中的 createElement 方法创建的元素

c# - 通过 WCF 服务返回 MySqlDataAdapter 列表导致错误

Php Mysqli 未定义函数

php - 有没有什么方法可以在没有复制和第三方软件的情况下在 PHP 中同步远程和本地数据库

php - 用户注销时 JQuery、ajax、mysql 更新

mysql - 使用顶级查询时出现sql语法错误

php - 无法使用 phpMyAdmin 在 MySql 中添加当前时间戳作为默认值