php - MySQL不会更新

标签 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
   }
?>

但是当我单击该按钮时,我得到:无法更新。 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"> ';
      }
   }
?>

希望有人能帮帮我!谢谢..

问候,

约翰。

最佳答案

您的数据库调用完全错误。 mysql_query() 返回表示查询结果的查询句柄(失败时返回 bool 值 false)。您将获取该句柄,并将其提供给其他数据库。

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

您可能想要更多类似的东西:

$sql = "UPDATE....  " . $row['id'];  // no mysql_query() call, just defining a string
$result = $conn->query($sql);

另外,用固定字符串来死()你的错误消息是完全没有用的。数据库库可以告诉您问题是什么:

$result = $conn->query($sql) or die(mysqli_error()); // assuming mysqli

关于php - MySQL不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025063/

相关文章:

mysql - 通过不同数据库更新列

Mysql LIMIT 在 GROUP BY 中的 ORDER

php - laravel - 无法在 Controller 构造函数中获取 session

python - Django 的 syncdb 失败,MySQL errno : 150

mysql - 为什么 MySQL DATE_FORMAT 函数在格式化 TIME 值时返回 NULL?

php - 使用变量的 SQL 更新查询

MySQL - 为每组日期选择最大日期

php 无法在 Linux 服务器上的 mysql 查询中使用撇号

php - 未先查看文档类型就找到了非空格字符。预期 &lt;!DOCTYPE html>

php - MongoDB - PHP - MongoCursorException 'Cursor not found'