Php mysql\u查询中的更新有时返回null
我使用此代码更新mysql中的记录 这是我的代码: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'
<?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()