php提示Warning:mysql_fetch_array() expects的解决方法

当使用mysql_fetch_array函数读取数据库查询结果时,如果查询结果为空,则此函数会返回false,并且会出现警告提示Warning:mysql_fetch_array() expects parameter 1 to be resource, boolean given。该警告消息提示我们要检查传递给mysql_fetch_array函数的查询结果资源是否为有效值。 要解决此问题,可以按照以下步骤进行操作。

步骤一:检查SQL查询是否正确

首先需要正确执行SQL查询,检查SQL语句是否存在语法错误,表名、列名是否有误等原因导致查询结果为空。如果查询结果为空则会出现此警告提示。

步骤二:检查mysql_query()函数调用

其次需要检查mysql_query()函数调用是否返回了一个有效的查询结果资源。假设以下示例代码:

$sql="SELECT * FROM user WHERE age > 20"
$result=mysql_query($sql);

如果$result不是一个有效的查询结果资源,那么调用mysql_fetch_array函数时就会出现警告。可以通过输出$result变量来检查是否返回了有效的查询结果,例如:

$sql="SELECT * FROM user WHERE age > 20"
$result=mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

在上面的示例中,如果$result不是一个有效的查询结果,那么调用mysql_fetch_array函数时就会退出PHP脚本,并显示一个错误信息。这样就可以很容易地找出问题所在并解决。

示例一:

假设要查询数据库中的user表中年龄大于20的用户信息,以下是示例代码:

$sql = "SELECT * FROM user WHERE age>20";  
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    echo $row['name'] . "的年龄是:" . $row['age'];
}

如果该示例代码中数据库查询结果为空时,调用mysql_fetch_array函数会出现警告。此时需要检查SQL查询语句是否正确以及mysql_query()函数是否正常运行。

示例二:

假设我们需要在用户登录成功之后,查询该用户的详细信息并显示在页面上,以下是示例代码:

$username = $_SESSION['username'];
$sql = "SELECT * FROM user WHERE username='$username'";
$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
$row = mysql_fetch_array($result);
echo "您好," . $row['name'] . ",您的年龄是:" . $row['age'];

在该示例代码中,如果查询结果为空时,调用mysql_fetch_array函数会显示警告提示。此时需要检查SQL查询语句是否正确,以及mysql_query()函数是否正常运行。

通过以上步骤,可以有效地解决mysql_fetch_array() expects parameter 1 to be resource, boolean given的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php提示Warning:mysql_fetch_array() expects的解决方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 【必知必会的MySQL知识】mysql5.7安装教程

    1.下载mysql 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载zip免安装版,可以省去很多事 2.将下载的安装文件解压放到磁盘中 3.在mysql解压缩包根目录下创建my.ini 文件(mysql主配置文件)并创建data目录(用户初始化数据库文件目录) my.ini文件内…

    MySQL 2023年5月4日
    00
  • 使用AI优化慢SQL,开发秒变DBA

    “AI不会替代他们,但善用AI的人会” 慢 SQL 经常会让应用程序响应变慢,轻者影响用户体验,严重的时候可能会导致服务不可用。如果,每次遇到慢 SQL 都求助于 DBA,一方面效率很低,另一方面也会很没面子。所以,我们一起来看看如何使用AI能力给出超越一般DBA的 SQL 优化建议。NineData( www.ninedata.cloud )面向每个开发人…

    MySQL 2023年4月25日
    00
  • Flask中Mysql数据库的常见操作

    from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对象 app = Flask(__name__) #载入配置文件 app.config.from_pyfile(“config.ini”) #指定数据库连接还有库…

    MySQL 2023年4月16日
    00
  • MySQL 移动数据目录后启动失败

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者: 王权富贵 文章来源:GreatSQL社区投稿 背景概述 由于安装数据库时将MySQL的数据目录放在了根目录下,现在存储空间不足,想通过mv将数据目录移动到其他目录下,但将数据目录移动到其他数据目录后,启动…

    MySQL 2023年4月23日
    00
  • MYSQL企业常用架构与调优经验分享

    一、选择Percona Server、MariaDB还是MYSQL  mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj 1、Mysql三种存储引擎   MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,M…

    MySQL 2023年4月13日
    00
  • Navicat 连接MySQL8.0.11出现2059错误

    下面是针对“Navicat连接MySQL8.0.11出现2059错误”的完整攻略。 问题描述 当你使用Navicat连接MySQL8.0.11数据库时,可能会遇到“2059 – Authentication Plugin ‘caching_sha2_password’ cannot be loaded”的错误提示。这是由于MySQL8.0.11的默认身份验证…

    MySQL 2023年5月18日
    00
  • 解决mysql报错:Data source rejected establishment of connection, message from server: \”Too many connectio

    当使用mysql连接池时,可能会遇到 “Data source rejected establishment of connection” 报错,这通常是由于数据库连接数过多导致的,可以通过优化连接池参数或增加数据库最大连接数等方式来解决这个问题。 以下是解决该问题的完整攻略: 1. 查看当前的最大连接数 执行以下命令查看当前mysql数据库的最大连接数: …

    MySQL 2023年5月18日
    00
  • 【性能优化】优雅地优化慢查询:缓存+SQL修改组合拳

    通过缓存与SQL,最小化代码侵入性的情况下,优化慢查询问题。 问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验。 需求 减少接口的响应时间。 寻找解决方案 由于问题主要处在数据库压力过大的情况,采用两种优化思路优化查询过程: 使用缓存分担数据库压力 对查询数据库过程做优化 缓存方案 更新策略 使用R…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部