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

本文实例讲述了php提示Warning mysql_fetch_array() expects的解决方法,分享给大家供大家参考。具体分析如下:

在mysql数据库连接时碰到Warning: mysql_fetch_array() expects ...错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了.

mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我的代码如下:

代码如下:

include("conn.php");
if(!empty($_GET['id'])){
         $sql="select * from news where `id`='".$_GET['id']."'";
         $query=mysql_query($sql);
         $rs = mysql_fetch_array($query);      
}

提示错误了:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in F:xmappmylibrarysearch_result.php on line 32

后来我对代码进行升级,代码如下:

代码如下:

if(!empty($_GET['id'])){
         $sql="select * from news where `id`='".$_GET['id']."'";
         $query=mysql_query($sql);
if( mysql_num_rows( $query )
{
         $rs = mysql_fetch_array($query);   
}
else

mysql_error();
}   
}

这样就会看到mysql错误信息了,结果是sql语句有问题了,把sql语句进行修改就可以了.

提示:导致这类错误是我们语法不规范了,如果要处理只有对sql进行一条条输出处理或在mysql_query(sql) or die(mysql_error()) 这样来处理,以便更准确的定位错误。

希望本文所述对大家的PHP程序设计有所帮助。

(0)

相关推荐

  • PHP中unset,array_splice删除数组中元素的区别

    如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> 结果是: Array ( [0] => a [2] => c [3] => d )   那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice(): <?php $arr = array('a','b','c','d

  • php array_walk_recursive 使用自定的函数处理数组中的每一个元素

    array_walk_recursive 对数组中的每个成员递归地应用用户函数 基本语法 bool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] ) 将用户自定义函数 funcname 应用到 array 数组中的每个单元.本函数会递归到更深层的数组中去.在funcname 函数中,数组的键名和键值是该函数的参数. 参数介绍: 参数 描述 input 必需.输入的数组.

  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例

    php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists(). 首先分别介绍一下各自的定义与作用 in_array(value,array,type) 该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与

  • php数组函数序列之array_keys() - 获取数组键名

    array_keys() 定义和用法 array_keys() 函数返回包含数组中所有键名的一个新数组. 如果提供了第二个参数,则只返回键值为该值的键名. 如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型. 语法 array_keys(array,value) 参数 描述 array 必需.规定输入的数组. value 可选.指定值的索引(键). strict 可选.与 value 参数一起使用.可能的值: true - 根据类型返回带有

  • php数组函数序列之array_unique() - 去除数组中重复的元素值

    array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 语法 array_unique(array) 参数 描述 array 必需.规定输入的数组. 说明 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名.这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留. 提示和注

  • php数组(array)输出的三种形式详解

    复制代码 代码如下: $bbbb=array("11"=>"aaa","22"=>"bbb");//只能输出值value不能输出keyforeach($bbbb as $color){ echo $color;}//value与key都可输出foreach($bbbb as $key=>$value){ echo $key."=>".$value;} //value与key都可输出w

  • array_multisort实现PHP多维数组排序示例讲解

    array_multisort - 对多个数组或多维数组进行排序 说明 bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] ) array_multisort (PHP 4, PHP 5) 如果成功则返回 TRUE,失败则返回 FALSE. array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重

  • PHP合并数组+与array_merge的区别分析

    主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉(不是覆盖) 2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉,但array_merge()此时会覆盖掉前面相同键名的值 需要注意的是数组键形式 '数字' 等价于 数字 复制代码 代

  • php自定义函数call_user_func和call_user_func_array详解

    call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: 复制代码 代码如下: function a($b,$c) { echo $b; echo $c; } call_user_func('a', "111","222"); call_user_func('a', "333","444"); //显示 111 222 333 444 ?> 调用类内部的方法比较奇怪,居然用的是array,不知道开发

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

    本文实例讲述了php提示Warning mysql_fetch_array() expects的解决方法,分享给大家供大家参考.具体分析如下: 在mysql数据库连接时碰到Warning: mysql_fetch_array() expects ...错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了. mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我的代码如下: 复制代码 代码如下: include("conn.php&quo

  • ThinkPHP调用common/common.php函数提示错误function undefined的解决方法

    本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

  • MySQL重置root密码提示"Unknown column ‘password"的解决方法

    晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实没有该字段了.经查发现是MySQL升级后将字段名给改了,password名称改为authentication_string了.知道原因后,按照如下命令就可以成功重置root密码了. $sudo mysql.server stop #先关闭正常的MySQL服务 $sudo mysqld_safe --

  • linux安装软件时提示软件包不存在的解决方法

    软件包不存在时可能是被安装软件的软件源没有安装,我的是cent os,安装w3m时,出现这个问题,解决办法:先安装软件源(epel-release),然后更新系统包,最后执行安装软件操作,就可以成功了. 以安装w3m为例: 1.安装w3m的软件源:epel-release yum install epel-release //如果不是系统管理员需要前面加入sudo命令,因为安装需要管理员权限 2.安装成功后,更新系统包 (如果不是系统管理员需要前面加入sudo命令,因为安装需要管理员权限) yu

  • Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法

    Ubuntu 1804 安装MySQL 5.7为例给大家介绍的很详细. 执行命令安装MySQL sudo apt install mysql-server sudo apt install mysql-client 安装后看下是否启动: sudo ps aux | grep mysql 如果已经启动,执行完上述命令可看到相应的信息,如果没有启动,则可执行下面命令启动mysql: sudo service mysql start 另外,一会要用到重启mysql命令,重启和关闭mysql的命令分别是

  • oracle 提示登录密码过期完美解决方法

    oracle 提示登录密码过期解决 1.登录到oracle的 服务器 2.切换到oracle 用户 3.设置到当前操作的实例名:export ORACLE_SID=XXX 4.连接数据库的命令行模式:sqlplus /nolog 5.sql: conn /as sysdba;用dba的身份登录 6.修改过期的用户密码设置: 修改用户密码:alter user XXX identified by XXX 修改用户密码之后,重新使用修改的用户密码连接数据库就ok了,假如仍然还有锁定用户操作, 记得执

  • mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法

    本文实例讲述了mysql 主从数据不一致,提示: Slave_SQL_Running No 的解决方法.分享给大家供大家参考,具体如下: 在slave服务器上通过如下命令 mysql> show slave status\G; 显示如下情况: Slave_IO_Running: Yes Slave_SQL_Running: No 表示slave不同步 解决方法一(忽略错误,继续同步): 1.先停掉slave mysql> stop slave; 2.跳过错误步数,后面步数可变 mysql>

  • IDEA连接MySQL提示serverTimezone的问题及解决方法

    今天,在使用IDEA软件连接MySQL数据库时,一直报时区相关的错误(其实吧,以前也遇到过这个错误) 错误: Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 错误页面: 解决办法一 之前的解决办法是: "Data Sources and Drivers" ~ "General" ~ "URL" 中指明

  • SQL server中提示对象名无效的解决方法

    产生SQL对象名无效的问题大多原因是由于数据迁移导致的,下面我们给出解决方法. 在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复.但是,此时会出现问题,这里说明几种常见问题的解决方法. 一.孤立用户的问题 比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立了一个test登录用户名,而且是以前的用户密码,用该用户登录后同样没办法操作以前属于

  • 关于C#连接SQL Server时提示用户登录失败的解决方法

    在用C#开发windows端程序并连接SQL Server时有可能会遇到数据库登录失败的问题,报错现象如下图所示: 报错信息如下: System.Data.SqlClient.SqlException: '用户 '' 登录失败.' This exception was originally thrown at this call stack:     [External Code]     MyQQ.DataOperator.ExecSQL(string) in DataOperator.cs

随机推荐