一尘不染

我可以使用MYSQLI和PHP将多个值绑定为单个参数吗?

sql

想象一下,我有以下SQL查询:

SELECT id,name FROM user WHERE id IN ('id1','id2','id3')

现在想象一下,我需要由PHP提供的ID数组。所以我有这样的事情:

$idList = array('id1','id2','id3');
$query = "SELECT id,name FROM user WHERE id IN (?)";
$stmt = $db->prepare($query);
$stmt->bind_param(/*Something*/);

我可以替换为什么/*Something*/以获得与原始查询相同的结果?还是我需要在查询格式中放入3个问号?我不想这样做的唯一原因是因为问号的数量是可变的,所以我将不得不手动构建查询字符串。


阅读 135

收藏
2021-03-08

共1个答案

一尘不染

我可以使用MYSQLI和PHP将多个值绑定为单个参数吗?

你不能。

对于您的情况,您应该以编程方式构建查询字符串。如果可以保证它将始终是三个值,则可以向SQL添加三个标记,然后通过遍历数组进行绑定。

2021-03-08