username."">

Home >Backend Development >PHP Tutorial > Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given i解决办法

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given i解决办法

WBOY
WBOYOriginal
2016-06-13 13:38:521913browse

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given i
$sql = "select count(uid) as user from user_table where uid='".$this->username."'and password='".md5($this->password,self::USERCONST)."'";
$query = $this->database->setSQL($sql);
if($row = $this->database->select_array($query)){
echo $row["user"];
有问题 查询的结果只有一条记录为什么 不能读呢 如果user==1就证明有这个用户 1以上就重复了
他的输出结果是:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in F:\wamp\www\user\DB\MySql.php on line 27
请求助


PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php class UserEntity{
    private $username;
    private $password;
    const USERCONST = "Huang520Yu520Hong";                    //常量 用户名+常量再加密往数据库里插
    private $database;
    function __construct($u,$p){
        include("../DB/MySql.php");
        $this->database = new MySql();
        $this->username = $u;
        $this->password = $p;
    }
    function register(){
        $pmd5 = md5($this->password.self::USERCONST);

        $sql = "insert into user_table (username,password) values('".$this->username."','".$pmd5."')";
        $database->setSQL($sql);
    }
    function logout(){
        echo "注销";
    }
    function login(){
        echo "登录";
    }
    function usercheck(){                                                                                    //密码加常量
        $sql = "select count(uid) as user from user_table where uid='".$this->username."'and password='".md5($this->password,self::USERCONST)."'";
        $query = $this->database->setSQL($sql);
        if($row = $this->database->select_array($query)){
            echo $row["user"];
        }
    }
}
?>



PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php class MySql{
     private $host;
     private $username;
     private $password;
     private $database;


     function __construct(){
        $this->host = "localhost";
        $this->username = "root";
        $this->password = "";
        $this->database = "bkqs";
        $this->mysqlconnection();
     }
     function mysqlconnection(){
        $connection = mysql_connect($this->host,$this->username,$this->password) or die ("连接数据库失败");
        mysql_select_db($this->database,$connection) or die ("打开数据库失败");
        mysql_query("set names 'GBK'");
     }
     function setSQL($sql){
        return mysql_query($sql);
     }
     function select_array($query){
         return mysql_fetch_array($query);
     }
     function select_object($query){
         return mysql_fetch_object($query);
     }
     function close(){
         return mysql_close();
     }
 }
?>




------解决方案--------------------
sql语句执行失败了。可以在你的setSQL()方法中加上错误提示。or die(mysql_error());就知道错在哪了。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn