mysql_fetch_array()错误

时间:2015-10-09 06:56:02

标签: php mysql

我正在尝试从MySQL表中选择数据,但是我收到以下错误消息之一:

  

mysql_fetch_array()期望参数1为资源,布尔值为

这是我的代码:

$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;
    }

5 个答案:

答案 0 :(得分:0)

用$ username替换{$ username}。我的意思是从查询行号中删除花括号。 3。

答案 1 :(得分:0)

将第四行替换为:

$sqlQuery = "select * from users where username = '$username'";

答案 2 :(得分:0)

使用

 $sqlQuery = "select * from users where username = '".$username."'";

答案 3 :(得分:0)

该错误通常意味着查询失败,因此mysql_query()返回false。

您确实需要将代码库迁移到使用mysqli_ *扩展或PDO。您正在使用的mysql_ *扩展在PHP 5.5版(当前版本)中已弃用,并且正在从PHP的第7版(下一版本)中删除。如果服务器迁移到php版本7,则您或使用mysql_ *扩展的任何其他站点将立即中断。

本文http://www.sitepoint.com/migrate-from-the-mysql-extension-to-pdo/将指导您如何将代码库转换为使用PDO。

一旦你迁移到mysqli_ *扩展程序或PDO,请确保进入habbit做:

  1. 验证数据:确保用户提交的数据是您所期望的,例如,使用的是任何非法字符(您不希望在字符串中包含哪些字符),使用字符串代替等整数等。
  2. 使用准备语句:在首次 验证 已提交的数据后,将用户提交的数据发送到数据库时,始终使用预准备语句。
  3. 另外,你真的需要抓住桌子上的所有字段吗? SELECT子句中只列出必填字段,在不需要时抓取所有字段是浪费带宽

答案 4 :(得分:0)

添加此

#Load .csv file into variable
$csvFile = Import-csv .\Desktop\counter.csv -Delimiter ','

echo $csvFile.$columnName[$rowPosition]

以下是代码:

# This will check your query and count the record on the database 
if( !$resultObj || mysql_num_rows($resultObj) == 0 ){
    $error = 1;
}