【问题标题】:how to solve my compiler warning如何解决我的编译器警告
【发布时间】:2012-10-01 11:41:31
【问题描述】:

完整代码:

<?php 

if (isset($_POST['usname']) && isset($_POST['pasw'])){

    $username = mysql_ramznegar($_POST['usname'],$link);
    $password = mysql_ramznegar($_POST['pasw'],$link);

$query = "SELECT * FROM `admin` WHERE `usname` = $username";
    $admin_result = mysql_query($query,$link);
    $admin_result = mysql_fetch_array($query,MYSQL_ASSOC);

    if($admin_result['usname']==$username && $admin_result['passw']==$password){


            if($admin_result[usname] == "admin"){

            $_SESSION['auth'] = 1;

                redirect("panel");

                   exit;                                

    }
     else{

        echo 'ur username or password is invalid';
        redirect("index.php");
     }


}

}

?>

我有一个带有两列表(管理员)的数据库,第一个是usname,第二个是passw,但是当我输入用户名和密码编译器向我显示这个错误时,我选择了查询,我该如何解决这个编译器警告:

警告:mysql_fetch_array() 期望参数 1 是资源, 第 60 行 C:\xampp\htdocs\ramznegar1\index.php 中给出的字符串

你应该改变

$admin_result = mysql_fetch_array($query, MYSQL_ASSOC)

到

$admin_result = mysql_fetch_array($admin_result, MYSQL_ASSOC)

我编辑了我的代码,但我又遇到了这个错误:

警告:mysql_fetch_array() 期望参数 1 是资源, 第 60 行 C:\xampp\htdocs\ramznegar1\index.php 中给出的布尔值

新代码是:http://pastebin.com/ycNT0XqM

【问题讨论】:

    标签: php sql syntax


    【解决方案1】:

    你应该改变:

    $query = "SELECT * FROM `admin` WHERE `usname` = $username";
    $admin_result = mysql_query($query,$link);
    $admin_result = mysql_fetch_array($query,MYSQL_ASSOC);
    

    到

    $query = "SELECT * FROM `admin` WHERE `usname` = $username"; 
    $admin_result = mysqli_query($query,$link); 
    $admin_result = mysqli_fetch_array($admin_result,MYSQL_ASSOC);
    

    有关 mysql_fetch_array 工作原理的信息,请参阅 http://php.net/manual/en/function.mysql-fetch-array.php

    【讨论】:

      【解决方案2】:

      你应该改变

       $admin_result = mysql_fetch_array($query, MYSQL_ASSOC)
      

      到

       $admin_result = mysql_fetch_array($admin_result, MYSQL_ASSOC)
      

      PHP DOC ON mysql_*

      不鼓励使用此扩展程序。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

      【讨论】:

      • @JOYE BRIGHT 不客气.. 如果您有任何其他问题,请告诉我.. 并查看:meta.stackexchange.com/questions/16721/… 了解如何接受答案
      • @JOYE BRIGHT 我需要查看您的新代码 .. 更新问题或将其添加到 Pastbin ...
      • @JOYE BRIGHT 已经看到你的代码......你忘记连接到 mysql 数据库......$link 应该像` $link = mysql_connect('localhost', 'mysql_user' , 'mysql_password');` ????类似的东西
      • 我通过在 html 代码开始之前包含其他文件来附加此功能,我附加了整个文件,pastebin.com/1t378mqt
      • +你为什么不把它放在你的选择语句之前
      猜你喜欢
      • 1970-01-01
      • 2020-11-25
      • 2011-04-09
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多