数据库常见错误及解决办法

1.Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\wamp\wamp64\www\library\admin\book_add.php on line 70
错误:mysqli_fetch_array()期望一个结果集,却收到一个boolean,

$result = mysqli_query($con,'select * from admin where _id='.$id);
$row= mysqli_fetch_array($result,MYSQLI_ASSOC);

解决办法:
1.mysqli_fetch_array()的第一个参数是 mysqli_query的结果,但是没有结果输出,所以会造成这句话执行出错。检查mysqli_query的输出是不是错误,一般是查询条件写错,出现的错误。
2.如果确定没有错误,加一句判断语句,判断查询的结果是一个矩阵

if(is_array($result))

输入错误
2.Illegal string offset ‘_name’ in D:\wamp\wamp64\www\library\admin\book_edit.php on line 57
报错的原因是可能存在空数组,但是你要取出数组中的值。
例如 echo $row['_name']

解决办法:首先判断是不是一个矩阵,然后进行输出

if (is_array($row))echo $row['_name']

3.Notice: Undefined variable: result in D:\wamp\wamp64\www\library\admin\book_edit.php on line 202
解决办法: result是一个没有定义的变量,可能是数据库查询没有结果,但是使用
$r=mysqli_fetch_array($result,MYSQLI_ASSOC)对其分行,使用if(is_array($result))判断后然后操作
4.//检查管理员是否登录

function checkLogin($id)
{
   session_start();
 if(!isset($_SESSION['sid']))
 {
  echo "<script language='javascript'>alert('请先登录!');parent.location.href='index.php';</script>";
 }
 if($id==0)return;
}

解决办法:调用函数时少了参数

function checkLogin($id = 0){....}

5.A session had already been started - ignoring session_start() on line 5
seeeion 已经打开,又一次使用session_start();
解决办法:

//如果没有开启session,则打开
if(!isset($_SESSION)){
    session_start();
}

6.mysql_connect()废弃,不能使用,换成mysqli_connect.新的标签的参数个数可能与旧的不同,需要查看一下手册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值