sql预处理语句不适用于WHERE IN子句

问题描述 投票:0回答:1

所以我有此sql前置语句:从汽车内部连接模型中选择汽车名称,模型名称,在cars.idCar = model.idCar中,汽车名称输入(?);$ input =“'丰田','本田'”;我试图将其放入sql语句中,但它给出了零行。我已经在phpMyAdmin中尝试过Querry,并且一切正常。有人知道这个问题吗?

php mysql prepared-statement
1个回答
0
投票

IN列表中每个值需要一个参数。如果您传递单个参数,则它将被解释为包含逗号的唯一字符串,这不是您想要的(并且最终没有匹配项,因为表中的名称均不匹配该值)。

所以有两个参数:

SELECT carName, modelName 
FROM cars 
INNER JOIN model ON cars.idCar = model.idCar WHERE carName IN (?, ?);
© www.soinside.com 2019 - 2024. All rights reserved.