相关疑难解决方法(0)

如何传递PDO参数数组但仍指定其类型?

$sql = "SELECT * FROM table WHERE id LIKE CONCAT('%', :id, '%')
LIMIT :limit1, :limit2";
Run Code Online (Sandbox Code Playgroud)

我想仍然像这样使用数组输入:

$stmt->execute($array);
Run Code Online (Sandbox Code Playgroud)

否则我不能重复使用相同的方法来执行我的查询.

同时,:limit1和:limit2不起作用,除非它像这样输入:

$stmt->bindParam(':limit1', $limit1, PDO::PARAM_INT);
Run Code Online (Sandbox Code Playgroud)

我试图做两个但它不使用bindParams执行:

$stmt->bindParam(':limit2', $limit2, PDO::PARAM_INT);
$stmt->execute($array);
Run Code Online (Sandbox Code Playgroud)

它的方法是什么?

我以为我可以扩展PDOStatement并添加一个新方法"bindLimit"或其他东西,但我无法弄清楚PDO使用什么内部方法将参数绑定到变量.

php mysql pdo

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1