我是相當新的PDO,但我遇到了一些可能有一個簡單的答案。PDO mysql查詢像數組值
我有一個類別編號的數組,我需要通過一個mysql數據庫來搜索所有匹配的類別編號的項目。
我知道我已經正確連接到數據庫,因爲我收到來自不同查詢的類別數組。
$category = Array ([0] => 3259 [1] => 3617 [2] => 3257 [3] => 3258 [4] => 3450 [5] => 3452 [6] => 3478 [7] => 3479 [8] => 3480 [9] => 3448 [10] => 3449 [11] => 3451 [12] => 3456 [13] => 3454 [14] => 3455 [15] => 3459 [16] => 3460 [17] => 3458 [18] => 3453 [19] => 3461 [20] => 3462 [21] => 3457 [22] => 3463 [23] => 3447)
現在我需要通過項目數據庫來檢查匹配的類別。 每個項目可以有多個類別,每個類別都有4個數字。 多個類別單獨用=
$categoryResults = $conn->prepare('SELECT * FROM items WHERE category like :cats ORDER BY promotions,price ASC');
$categoryResults->execute(array(':cats' => '%'.$category.'%'));
$categoryNumber = $categoryResults->rowCount();
這是我似乎已經錯了。與MySQL要求我將使用通過數組的循環手動讓我很長的SQL查詢已經建立起來:
'Select * From items WHERE category like '%3259%' OR WHERE category LIKE '%3617%'........etc
,但我相信這是使用PDO的優點之一。 只需添加到它,我需要的結果是獨一無二的。 如果項目97在類別3259和類別3617我只想得到一次結果。
在此先感謝。
好問題。我個人在$ category數組的循環中使用PDO :: quote來處理這種SQL查詢。 – Adder