php - PDO BindParam 捷径?

标签 php mysql stored-procedures pdo

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

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

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

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

最佳答案

当您准备好语句后,对其调用 execute 函数,并使用参数数组作为唯一参数。

命名参数和“有序”参数之间存在区别:前者有名称(关联数组),后者只有位置(普通数组)。

示例:

$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

关于php - PDO BindParam 捷径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039114/

相关文章:

mysql - 动态选择哪个表

mysql - 如何将变量传递到 MySql 过程创建中

PHP/MySQL SELECT 按字段(value1,value2)等查询和排序

php - 如何从不同的目录中 require_once?

php - 在不替换当前值的情况下将变量添加到数据库?

MYSQL select语句中的where字段也一样?

sql - 返回 UPDATE 结果的存储过程

sql - 我怎样才能提高这个存储过程的性能

php - 使用 Union 或 Join 在一个 where 语句中使用多个查询结果

php - LOAD 数据文件不导入日期时间