Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用成员函数bindParam()什么?_Php - Fatal编程技术网

Php 调用成员函数bindParam()什么?

Php 调用成员函数bindParam()什么?,php,Php,下面给出了我的php代码 class Login { public function logar($login, $senha){ $db = new Database(); try{ $conn = $db->connect(); $prepare = $conn->prepare("SELECT * FROM account WHERE Login = :login AND Passwd =

下面给出了我的php代码

class Login {

    public function logar($login, $senha){
        $db = new Database();
        try{
            $conn = $db->connect();
            $prepare = $conn->prepare("SELECT * FROM account WHERE Login = :login AND Passwd = :senha");
            $prepare->bindParam(':login', $login, PDO::PARAM_STR);
            $prepare->bindParam(':senha', $senha, PDO::PARAM_STR);
            $prepare->execute();
            $ranking = $prepare->rowCount();
            if ($ranking >= 1){
                return "<div class='n_ok' style='margin:9px 15px;'><p>Successfully.</p></div>";
            }else{
                return "<div class='n_error' style='margin:9px 15px;'><p>Usuario ou senha incorreta.</p></div>";
            }
        }catch(PDOException $e){
            echo "Erro: ".$e->getMessage();
        }
    }

}
类登录{
公共函数logar($login,$senha){
$db=新数据库();
试一试{
$conn=$db->connect();
$prepare=$conn->prepare(“从帐户中选择*,其中Login=:Login和Passwd=:senha”);
$prepare->bindParam(':login',$login,PDO::PARAM_STR);
$prepare->bindParam(':senha',$senha,PDO::PARAM_STR);
$prepare->execute();
$ranking=$prepare->rowCount();
如果($ranking>=1){
返回“成功。

”; }否则{ 返回“Usuario ou senha incorreta.

”; } }捕获(PDO$e){ echo“Erro:”.$e->getMessage(); } } }
当我运行时,发生以下错误

致命错误:在C:\AppServ\www\class\Login.class.php的第9行对布尔值调用成员函数bindParam()**


Prepare可能返回false, 始终用以下语句结束您以前的语句

$statement->close();
如果语法正确,下面的查询也可以正常运行。

新数据库()指的是什么。我希望它应该返回PDO连接

下面的代码肯定可以正常工作

class Login {
    public function logar($login, $senha){
        $conn = new PDO('mysql:host=dbhostname;dbname=databasename', $user, $pass);
        try{
            $prepare = $conn->prepare("SELECT * FROM account WHERE Login = :login AND Passwd = :senha");
            $prepare->bindParam(':login', $login, PDO::PARAM_STR);
            $prepare->bindParam(':senha', $senha, PDO::PARAM_STR);
            $prepare->execute();
            $ranking = $prepare->rowCount();
            if ($ranking >= 1){
                return "<div class='n_ok' style='margin:9px 15px;'><p>Successfully.</p></div>";
            }else{
                return "<div class='n_error' style='margin:9px 15px;'><p>Usuario ou senha incorreta.</p></div>";
            }
        }catch(PDOException $e){
            echo "Erro: ".$e->getMessage();
        }
    }

}
类登录{
公共函数logar($login,$senha){
$conn=newpdo($mysql:host=dbhostname;dbname=databasename',$user,$pass);
试一试{
$prepare=$conn->prepare(“从帐户中选择*,其中Login=:Login和Passwd=:senha”);
$prepare->bindParam(':login',$login,PDO::PARAM_STR);
$prepare->bindParam(':senha',$senha,PDO::PARAM_STR);
$prepare->execute();
$ranking=$prepare->rowCount();
如果($ranking>=1){
返回“成功。

”; }否则{ 返回“Usuario ou senha incorreta.

”; } }捕获(PDO$e){ echo“Erro:”.$e->getMessage(); } } }
还要确保错误报告处于打开状态:错误报告(E\U ALL);ini设置(“显示错误”,1);如果(!$prepare){echo“false”;}否则{$prepare->bindParam(':login',$login,PDO::PARAM_STR);$prepare->bindParam(':senha',$senha,PDO::PARAM_STR);$prepare->execute();}
prepare
method在发生错误时返回false,您的数据库连接似乎存在一些问题。