数据库常见错误及解决办法
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.新的标签的参数个数可能与旧的不同,需要查看一下手册。
还没有评论,来说两句吧...