Php mysql\u查询中的更新有时返回null

Php mysql\u查询中的更新有时返回null,php,mysql,Php,Mysql,我使用此代码更新mysql中的记录 这是我的代码: <?php $query = "update seeds set status='success' where id = $x"; $result = mysql_query($query); if(!$result){ echo 'failed'.$result; print_r($result); }else{ echo 'successfully'

我使用此代码更新mysql中的记录 这是我的代码:

<?php
    $query = "update seeds set status='success' where id = $x";
    $result = mysql_query($query);
    if(!$result){
         echo 'failed'.$result;
         print_r($result);
    }else{
         echo 'successfully';
    }

?>
“成功”总是打印出来。但有时会打印出“错误105”

此错误的原因可能是交易


数据库中的更新已执行,但返回null?

$result在本例中,它只是一个资源,不包含原因

对于其他类型的SQL语句,请执行INSERT、UPDATE、DELETE、DROP等操作, mysql_query()成功时返回TRUE,错误时返回FALSE

资料来源:


因此,您只能在更新查询中从中获取TRUE/FALSE。它不会告诉你原因。但正如您所说,当您的服务器过度拥挤时就会发生这种情况,所以原因可能是“连接太多”

如果mysql\u查询返回NULL,那么这将是PHP上的一个错误。您如何知道它实际上返回NULL

对于update语句,mysql_查询应该只返回TRUE或FALSE。因此,您的错误检查代码很好。至于找出哪里出了问题,你必须调用另一个函数——mysql_error()会告诉你哪里出了问题。因此,在false块中打印mysql_error()的值。像这样:

 echo 'failed. SQL Err: '. mysql_error()

这样做,您可能会得到关于“记录更新了,但返回值为false”的线索。这不应该发生

写这篇文章是为了了解查询后是否有更新,而不是echo“failed”。$result;使用echo“失败”。mysql_错误();
 echo 'failed. SQL Err: '. mysql_error()