日期:2014-05-17  浏览次数:20467 次

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

<?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

<?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());就知道错在哪了。