我有一個像這樣的pdo命令$sql = $pdoObj->execute($query)
但它不起作用,0返回結果。在調用之前,我重複了$query
變量,然後將其粘貼到中,並且代碼成功運行。我不明白這裏有什麼問題,因爲我在代碼的其他部分沒有問題地完成了這個任務。 下面是查詢的一些例子:當傳遞一個變量作爲查詢時,pdo查詢不會執行
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')
他們是基於$_GET
變量的所有動態生成的查詢。
編輯: 當然
if (isset($_GET)) {
if (isset($_GET['taglia'])) {
$query = "
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
";
foreach ($_GET as $index => $val) {
$a = explode(',', $val);
$in = "'" . implode("','", $a) . "'";
$query .= ' AND '.$index.' IN ('.$in.')';
}
} else {
$query = " SELECT * FROM scarpe WHERE 1=1";
foreach ($_GET as $index => $val) {
$a = explode(',', $val);
$in = "'" . implode("','", $a) . "'";
$query .= ' AND '.$index.' IN ('.$in.')';
}
}
echo 'data loaded';
} else {
$query = " SELECT * FROM scarpe ORDER BY id DESC ";
}
EDIT2:
我用query()
,而不是但仍然沒有爲execute
工作
你能張貼生成查詢你的PHP代碼? – lexmihaylov