Php 调用成员函数bindParam()什么?
下面给出了我的php代码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 =
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,您的数据库连接似乎存在一些问题。