这是我第一次参加SO,所以我不知道一切。对不起。我的网站有问题。我想更新其中一行的查看状态。
这是我的更新代码:
<?php
if(isset($_POST['Submit'])){//if the submit button is clicked
$sql= mysql_query ("UPDATE system_reports SET viewed=1 WHERE id =' ".$row['id']." ' ");
$conn->query($sql) or die("Cannot update");//update or error
}
?>
但是当我点击按钮时,我得到:Cannot Update
。 DB的连接很好。所以我不知道是什么问题。 ID是一个真正的工作变量。
我的行也在工作:
<?php
function spam_Draw() {
$a = mysql_query("SELECT * FROM system_reports WHERE viewed=0");
while ($row = mysql_fetch_array($a)) {
echo $row['id']." <a href='http://warrock-hack.net/profiel/".$row['user'] . "/'>Gedupeerde</a> <a href='" . $row['report_url'] . "'> Ga naar het probleem toe!</a> " . $row['reason'];
echo '<br>';
echo '<INPUT TYPE="Submit" VALUE="Update the Record" NAME="Submit"> ';
}
}
?>
我希望有人可以帮助我!感谢..
此致
约翰。
答案 0 :(得分:2)
您的数据库调用完全错误。 mysql_query()
返回一个表示查询结果的查询句柄(或失败时为布尔值false)。您正在接受该处理,并将其提供给其他数据库库。
mysql
,mysqli
和PDO
数据库句柄/结果不可互换,并且库不能像这样混合在一起。
你可能想要更像的东西:
$sql = "UPDATE.... " . $row['id']; // no mysql_query() call, just defining a string
$result = $conn->query($sql);
另外,die()使用固定字符串来表示错误消息是完全没用的。 DB库可以告诉您问题所在:
$result = $conn->query($sql) or die(mysqli_error()); // assuming mysqli