MySQL不会更新

时间:2014-07-29 21:12:03

标签: php mysql sql

这是我第一次参加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"> ';
      }
   }
?>

我希望有人可以帮助我!感谢..

此致

约翰。

1 个答案:

答案 0 :(得分:2)

您的数据库调用完全错误。 mysql_query()返回一个表示查询结果的查询句柄(或失败时为布尔值false)。您正在接受该处理,并将其提供给其他数据库库。

mysqlmysqliPDO数据库句柄/结果不可互换,并且库不能像这样混合在一起。

你可能想要更像的东西:

$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