PDO BindParam捷径?

时间:2014-04-13 04:28:45

标签: php mysql stored-procedures pdo

我是使用PDO的新手,但是我使用bindParam函数感到很困惑。是否可以避免使用bindParam?如果没有 - 为什么?

我正在使用像这样的存储过程

$e = 'example@g.com';
$p = 'pass123';
$stmt = $dbh->prepare("CALL GetUserByEmail($e, $p) );
$stmt->execute();

然后我想检查结果表中有多少结果..为什么我也不知道怎么做 - 我以前习惯使用mysqli_函数。谢谢!

1 个答案:

答案 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