准备

时间:2016-10-16 11:29:44

标签: php mysql pdo bindparam

我在这段代码上收到错误..我设置了UserName和Password但是我收到了错误。我的失败是什么?

$Id=$db->prepare("select UserID from Users where 1=1 and IsActive=1 and Name=:UserName and Password=:Password");
$Id->bindParam(":UserName",$UserName,PDO::PARAM_STR);
$Id->bindParam(":Password",$Password,PDO::PARAM_STR);
$Id->execute();

这是错误:

  

PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:   绑定变量的数量与令牌的数量不匹配

1 个答案:

答案 0 :(得分:0)

老实说,我从来没有任何理由使用bindParambindValue,因为您只需将关联数组传递给execute`函数,如下所示:

$Id = $db->prepare("select UserID from Users where 1=1 and IsActive=1 and Name=:UserName and Password=:Password");
$Id->execute(array(":UserName" => $UserName, ":Password" => $Password));