【发布时间】:2012-11-12 09:30:17
【问题描述】:
我准备好的查询如下所示:
$sql = "SELECT $t1.id FROM $t1 WHERE $t1.name IN (?)";
当我尝试时:
$stmt = Sql::$select->prepare($sql);
$string="'aaa','bbb','ccc'";
$stmt->bind_param('s', $string);
...它没有返回预期的结果。它将字符串视为一个名称,而不是多个单独的名称。怎么解决?
函数的其余部分:
$stmt->execute();
$stmt->store_result();
return $stmt;
【问题讨论】:
-
我之前没有准备好的语句的经验,但是我在使用存储过程时遇到了这个问题。可能您需要在 IN 语句中绑定每个参数。
-
我想我明白你的意思@KhaleelAKarim,但我做不到 - 字符串中的名称数量未知
-
什么是
Sql?,假设Sql::$select是你的连接对象,那么Sql::$select->error中的消息是什么(准备之后)? -
有一个similar question 可用,请查看答案。