Php mysql_fetch_array()错误
我试图从MySQL表中选择数据,但收到以下错误消息之一: mysql_fetch_array()希望参数1是给定的资源布尔值 这是我的代码:Php mysql_fetch_array()错误,php,mysql,Php,Mysql,我试图从MySQL表中选择数据,但收到以下错误消息之一: mysql_fetch_array()希望参数1是给定的资源布尔值 这是我的代码: $username = addslashes( $_POST['user'] ); $password = addslashes( $_POST['pass'] ); $sqlQuery = "select * from users where username = '{$username}'"; $resultObj = mys
$username = addslashes( $_POST['user'] );
$password = addslashes( $_POST['pass'] );
$sqlQuery = "select * from users where username = '{$username}'";
$resultObj = mysql_query( $sqlQuery );
$row = mysql_fetch_array( $resultObj );
if( $row['password'] == md5( $password ) )
{
session_start();
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['name'] = $row['username'];
header("Location:view_forum_list.php");
exit();
}
else
{
$error = 1;
}
将{$username}替换为$username。我的意思是从第3行删除大括号。将第四行替换为:
$sqlQuery = "select * from users where username = '$username'";
使用
该错误通常意味着查询失败,因此mysql_query()返回false 您确实需要将代码库迁移到使用mysqli扩展或PDO。您正在使用的mysql_*扩展在PHP的5.5版(当前版本)中已被弃用,并将从PHP的7版(下一版本)中删除。如果服务器迁移到PHPVersion7,您或任何其他使用mysql_*扩展的站点将立即中断 本文将带您了解如何将您的代码库转换为使用PDO 迁移到mysqli_*扩展或PDO后,请确保养成以下习惯:
# This will check your query and count the record on the database
if( !$resultObj || mysql_num_rows($resultObj) == 0 ){
$error = 1;
}
代码如下:
<?php
$username = addslashes( $_POST['user'] );
$password = addslashes( $_POST['pass'] );
$sqlQuery = "select * from users where username = '$username'";
$resultObj = mysql_query( $sqlQuery );
if( !$resultObj || mysql_num_rows($resultObj) == 0 ){
$error = 1;
}
else{
$row = mysql_fetch_array( $resultObj );
if( $row['password'] == md5( $password ) ){
session_start();
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['name'] = $row['username'];
header("Location:view_forum_list.php");
exit();
}
else{
$error = 1;
}
}
?>
您能否显示“user”表的结构?这没有帮助。两者都是$sqlQuery=“select*from username='$username''的用户
和$sqlQuery=“从username='{$username}'的用户中选择*代码>相同。试着打印两者。我也使用这种类型的查询,但数据不是从数据库获取的。你是从数据库获取数据吗???哈..哈…这是否意味着与我建议的不同??
<?php
$username = addslashes( $_POST['user'] );
$password = addslashes( $_POST['pass'] );
$sqlQuery = "select * from users where username = '$username'";
$resultObj = mysql_query( $sqlQuery );
if( !$resultObj || mysql_num_rows($resultObj) == 0 ){
$error = 1;
}
else{
$row = mysql_fetch_array( $resultObj );
if( $row['password'] == md5( $password ) ){
session_start();
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['name'] = $row['username'];
header("Location:view_forum_list.php");
exit();
}
else{
$error = 1;
}
}
?>