首页  >  文章  >  数据库  >  为什么我的 PHP 脚本抛出“mysql_fetch_array(): 参数 1 应该是资源”?

为什么我的 PHP 脚本抛出“mysql_fetch_array(): 参数 1 应该是资源”?

Patricia Arquette
Patricia Arquette原创
2024-11-01 16:42:02309浏览

Why Does My PHP Script Throw

mysql_fetch_array():参数 1 应该是资源

在 PHP 脚本中,您遇到错误“mysql_fetch_array() 需要参数” 1 成为资源。”这表明该函数接收到的参数类型不正确。

错误源

问题源于以下行:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);</code>

该行对数据库执行查询。如果查询失败或没有结果,该函数返回一个布尔值,指示查询成功或失败。但是,mysql_fetch_array() 函数需要一个资源作为其第一个参数,这是成功查询的结果。

解决方案

要解决此问题,您应该检查 mysql_query() 的返回值以确保它是一个资源。您可以通过在查询行后添加错误检查来完成此操作:

<code class="php">$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET['id']);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}</code>

如果查询失败,这将显示错误消息并终止脚本。

其他注意事项

除此问题外,建议使用改进的 MySQLi 或 PDO 扩展进行数据库交互,而不是已弃用的 mysql_* 函数。这些扩展提供了增强的安全性和性能功能。

以上是为什么我的 PHP 脚本抛出“mysql_fetch_array(): 参数 1 应该是资源”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn