我遇到麻烦似乎应该是一个简单的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文件中显示错误,也不知道如何继续 .
UPDATE: Problem solved 我在表格列中使用了一个人的昵称而不是他们的名字......我现在觉得很傻 .
获得的经验教训:更多错误报告!这条线救了我:
echo $result ? 'good' : 'failed with ' . mysqli_error($connection);
1 回答
使用
affected_rows
查看是否有更新内容:http://php.net/manual/en/mysqli.affected-rows.php