【问题标题】:PDO bindparams exec() or get affected rows with execute()PDO bindparams exec() 或使用 execute() 获取受影响的行
【发布时间】:2012-08-19 04:22:08
【问题描述】:

我有一个关于 PDO::exec() 和 bindparams 的问题。

exec($sql) 返回受影响的行数。但是您可以将参数绑定到 exec(),例如 prepare->bindParams()->execute()?

如果答案是否定的,您可以通过 prepare->bindParams()->execute() 中的任何技巧获得受影响的行吗? (我理解执行只返回真/假)

感谢您的帮助。

【问题讨论】:

  • 我对这个话题了如指掌,但我仍然无法理解手头的问题。能否请您更正语法错误并澄清一下?
  • PDO::exec() 相当于mysql_query(),除了它不返回结果句柄。它不支持绑定,因为它的主要参数是一个原始的 sql 字符串。

标签: php sql pdo sqlbindparameter


【解决方案1】:

执行后可以从PDOStatement object获取受影响的行:

$statement = $pdo->prepare($query);
$statement->bindParam(':param1', $value1);
$result = $statement->execute();
$affectedRows = $statement->rowCount();

【讨论】:

    猜你喜欢
    • 2014-10-01
    • 2013-07-08
    • 2012-09-22
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2011-06-11
    • 2016-11-01
    • 2022-11-10
    相关资源
    最近更新 更多