我是使用PDO的新手,但是我使用bindParam函数感到很困惑。是否可以避免使用bindParam?如果没有 - 为什么?
我正在使用像这样的存储过程
$e = 'example@g.com';
$p = 'pass123';
$stmt = $dbh->prepare("CALL GetUserByEmail($e, $p) );
$stmt->execute();
然后我想检查结果表中有多少结果..为什么我也不知道怎么做 - 我以前习惯使用mysqli_函数。谢谢!
答案 0 :(得分:0)
准备好语句后,调用execute
函数,并将参数数组作为唯一参数。
命名参数与' ordered'之间存在差异。参数:第一个有一个名字(关联数组),后者只有一个位置(正常数组)。
示例:
$stmt = $dbh->prepare("CALL GetUserByEmail(?, ?)");
$stmt -> execute(array($e, $p));
$stmt = $dbh->prepare("CALL GetUserByEmail(:emails, :passwords)");
$stmt -> execute(array(':emails' => $e, ':passwords' => $p));
另见文档:http://www.php.net/manual/en/pdostatement.execute.php。
要获得行数,请在结果上调用rowCount
函数:
$stmt -> rowCount(); // Amount of rows selected