php - 如何解决我的编译器警告

标签 php sql syntax

完整代码:

<?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");
     }


}

}

?>

我有一个数据库,其中的表(admin)有两列,第一列是usname,第二列是passw,当我输入时,我仍然选择查询用户名和密码编译器向我显示此错误,如何解决此编译器警告:

Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\ramznegar1\index.php on line 60

You should change

$admin_result = mysql_fetch_array($query, MYSQL_ASSOC)

To

$admin_result = mysql_fetch_array($admin_result, MYSQL_ASSOC)

我编辑了代码,但再次遇到此错误:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ramznegar1\index.php on line 60

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

最佳答案

你应该改变:

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

参见http://php.net/manual/en/function.mysql-fetch-array.php有关 mysql_fetch_array 如何工作的信息

关于php - 如何解决我的编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828879/

相关文章:

sql - 如何在Group By中获取不同的记录

Vim 语法高亮之后

syntax - 是否有在相似结构之间移动字段的语法?

python - Python while 语句中的 Else 子句

php - 可以使用 Ajax 上传图片吗?

sql - mysql二进制比较不使用索引

php - 数据在网页上显示两次,但数据库中没有重复项。为什么?

Python SQL 值错误

php - 在 PHP 中,在使用 fopen() 将文件指针资源分配给变量后,如何从变量中获取文件名?

带有嵌套数组的 PHP foreach?