PDO功能我在HTML複選框一些選擇,我需要通過一個數組來傳遞這些選擇:HTML表單,並與陣列
<div>
<input type="checkbox" name="language[]" id="anglais" value="anglais" /> Anglais
<input type="checkbox" name="language[]" id="allemand" value="allemand" /> Allemand
<input type="checkbox" name="language[]" id="espagnol" value="espagnol" /> Espagnol
<input type="checkbox" name="language[]" id="francais" value="francais" /> Francais
<input type="checkbox" name="language[]" id="italien" value="italien" /> Italien
<input type="checkbox" name="language[]" id="russe" value="russe" /> Russe
<input type="checkbox" name="language[]" id="chinois" value="chinois" /> Chinois
<br/>
<input type="submit" value="Actualiser !">
</div>
然後,該數組被髮送到以下PDO查詢:
function retrieve_events_by_type ($DB, $type, $language, $date) {
$sql = "SELECT organizer, eventname, eventplace, language, eventdate, eventhour, eventminutes FROM events where eventtype = :type";
if (!empty($language)) {
$place_holders = implode(',', array_fill(0, count($language), '?'));
$sql .= " AND language IN ($place_holders)";
}
$sql .= empty($date) ? "" : " AND eventdate = :date ";
$req = $DB->prepare($sql);
$req -> bindParam(':type', $type, PDO::PARAM_STR);
if (!empty($language)) {
$req -> bindParam(':language', $language, PDO::PARAM_STR);
}
if (!empty($date)) {
$req -> bindParam(':date', $date, PDO::PARAM_STR);
}
$req -> execute();
$events = $req->fetchAll(PDO::FETCH_ASSOC);
$req->closeCursor();
return ($events);
}
我試圖通過數組PDO以PDO ::執行或PDO :: PARAM_STR,但它不工作..
是否可以將命名參數和佔位符傳遞給PDO?
有沒有辦法在'IN'sql子句中傳遞多個字符串?
看到http://stackoverflow.com/questions/920353/can-i-bind-an-array-to-an-in-condition – 2015-04-04 17:28:17