Php 将变量作为查询传递时未执行pdo查询

Php 将变量作为查询传递时未执行pdo查询,php,mysql,pdo,executequery,Php,Mysql,Pdo,Executequery,我有这样一个pdo命令$sql=$pdoObj->execute($query),但它不起作用,返回0个结果。在调用execute()之前,我回显了$query变量,然后将其粘贴到execute()中,代码成功运行。我无法理解这里的问题是什么,因为我在代码的其他部分中没有遇到任何问题。 以下是一些查询示例: SELECT s.id, s.marca, s.colore, s.prezzo, i.id_scarpa, i.taglia FROM scarpe AS s INNER JOIN inf

我有这样一个pdo命令
$sql=$pdoObj->execute($query)
,但它不起作用,返回0个结果。在调用
execute()
之前,我回显了
$query
变量,然后将其粘贴到
execute()
中,代码成功运行。我无法理解这里的问题是什么,因为我在代码的其他部分中没有遇到任何问题。 以下是一些查询示例:

SELECT s.id, s.marca, s.colore, s.prezzo, i.id_scarpa, i.taglia FROM scarpe AS s INNER JOIN info_scarpe AS i ON i.id_scarpa = s.id WHERE 1 = 1 AND taglia IN ('40','41','42') AND colore IN ('rosso', 'nero')

SELECT * FROM scarpe WHERE 1=1

SELECT * FROM scarpe WHERE 1=1 AND marca IN ('adidas','nike')
它们都是基于
$\u GET
变量动态生成的查询

编辑: 当然

编辑2:


我使用
query()
而不是
execute()
,但仍然不起作用执行
的参数应该是一个带有查询参数的数组。你想用哪一种

$result = $pdoObj->query($query);


您可以发布生成查询的php代码吗?对不起,我的主要帖子不正确,我使用的是
query()
,而不是
execute()
。不过,它只在我将查询作为文本而不是变量传递时才起作用。
$result = $pdoObj->query($query);
$stmt = $pdoObj->prepare($query);
$stmt->execute();