username. が与えられたブール値です。">

ホームページ  >  記事  >  バックエンド開発  >  警告: mysql_fetch_array() はパラメータ 1 がリソースであることを予期しており、与えられた i はブール値です。

警告: mysql_fetch_array() はパラメータ 1 がリソースであることを予期しており、与えられた i はブール値です。

WBOY
WBOYオリジナル
2016-06-13 13:38:521868ブラウズ

警告: mysql_fetch_array() はパラメーター 1 がリソースであることを予期しており、i
$sql = "select count(uid) as user from user_table where uid='".$this->username."'andpassword=' の場合、ブール値になります。 ".md5($this->password,self::USERCONST)."'";
$query = $this->database->setSQL($sql);
if($row = $this->database->select_array($query)){
echo $row["user"];
クエリ結果にレコードが 1 つしかないのはなぜですか? user==1、それは複数のユーザーに対して繰り返されたことが証明されます
彼の出力は次のとおりです:
警告: mysql_fetch_array() はパラメータ 1 がリソースであることを期待しており、F:wampwwwuserDBMySql.php で指定されています。 27 行目
助けてください


PHP コード
<!--

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 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() メソッドにエラー メッセージを追加できます。または die(mysql_error()); どこが間違っているかがわかります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。