PHP MySQL UPDATE - 没有错误,但没有更新

时间:2015-07-26 02:43:30

标签: php mysqli sql-update

我遇到麻烦似乎应该是一个简单的MySQL更新。但是当我签入phpMyAdmin时,该行没有更新。我有一个列表:

| id |电子邮件| item1 | item2 | item3 |

  • item1,item2和item3都设置为null。
  • 当用户在用户完成任务时输入其电子邮件时会生成
  • id,其结果将输入到相应的项目列中。
  • 在完成任务之前,代码通过检查空值来检查它们是否已经这样做了。
  • 如果值为null,则可以继续执行任务,然后转到此代码以存储结果。

    require("login.php");
    $connection = mysqli_connect($servername, $username, $password, $dbname);
    $id = "1";
    $name = "item1";
    $file = mysqli_real_escape_string($connection, $fileName);
    $sql = "UPDATE once SET ".$name." = '".$file."' WHERE id = ".$id;
    
    //I also tried:
    //$sql = "UPDATE once SET ".$name." = '".$file."' WHERE id = '".$id."'";
    
    echo $sql;
    $result = mysqli_query($connection, $sql);
    mysqli_close($connection);
    

我做了一个echo语句来表明这是$ sql行发送的内容:

UPDATE once SET item1 = 'New File!' WHERE id = 1

(替代id =' 1'也按预期发送)

我已经在这里检查了其他人的问题,并尝试改变我的问题以适应接受的答案......但每次,phpMyAdmin都会继续显示没有更新。我不再在error_log文件中显示错误,也不知道如何继续。

更新:问题已解决 我在表格列中使用了一个人的昵称而不是他们的名字......我现在觉得很傻。

获得的经验教训:更多错误报告! 这条线救了我:

   echo $result ? 'good' : 'failed with ' . mysqli_error($connection);

1 个答案:

答案 0 :(得分:0)

使用affected_rows来查看某些内容是否已更新:

$connection->affected_rows;  

http://php.net/manual/en/mysqli.affected-rows.php