如何传递 PDO 参数数组,同时仍指定其类型?
$sql = "SELECT * FROM table WHERE id LIKE CONCAT('%', :id, '%')
LIMIT :limit1, :limit2";
我想仍然像这样使用数组输入:
$stmt->execute($array);
否则,我无法重用相同的方法来执行查询。
同时,除非像这样放入 :limit1 和 :limit2,否则它不起作用:
$stmt->bindParam(':limit1', $limit1, PDO::PARAM_INT);
我试图同时做这两件事,但它没有使用bindParams执行:
$stmt->bindParam(':limit2', $limit2, PDO::PARAM_INT);
$stmt->execute($array);
解决它的方法是什么?
我以为我可以扩展PDOStatement并添加一个新方法“bindLimit”或其他东西,但我无法弄清楚PDO使用什么内部方法将参数绑定到变量。