错误:“警告:mysql_fetch_array():提供的参数不是有效的 MySQL 结果”
尝试执行 PHP 脚本时,您遇到以下错误消息:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result [duplicate]
当mysql_fetch_array() 函数提供了无效的 MySQL 结果。要解决此问题,让我们检查根本原因:
无效的 MySQL 结果
mysql_fetch_array() 函数需要一个有效的 MySQL 结果对象作为其参数。该对象由 mysql_query() 函数在执行查询后返回。如果查询无效或失败,mysql_query() 函数将返回错误值而不是有效的结果对象。
检查错误
确定是否查询是问题的根源,您应该在执行查询后检查 mysql_error() 函数。此函数将提供查询执行期间发生的任何错误的详细信息。
示例代码:
$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100'); if (!$result) { die('Invalid query: ' . mysql_error()); }
修改后的 query() 函数
为了改进错误处理并提供更详细的错误消息,您可以修改您的 query() 函数DbConnector 类如下:
function query($query) { $this->theQuery = $query; $queryId = mysql_query($query, $this->link); if (!$queryId) { throw new Exception(mysql_error() . ". Query was:\n\n" . $query . "\n\nError number: " . mysql_errno()); } return $queryId; }
此修改后的函数将抛出异常,并带有详细的错误消息,包括错误号和失败的查询。通过处理此异常,您可以提供更加用户友好的错误消息来帮助识别和解决问题。
以上是为什么我的 PHP 脚本中出现'警告:mysql_fetch_array():提供的参数不是有效的 MySQL 结果”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!