MySQL Prepared具有可變大小變量列表的語句你會如何在PHP中編寫一個準(zhǔn)備好的MySQL語句,每次都需要不同數(shù)量的參數(shù)?這種查詢的一個例子是:SELECT `age`, `name` FROM `people` WHERE id IN (12, 45, 65, 33)該IN子句id每次運行時都會有不同數(shù)量的s。我腦子里有兩種可能的解決方案,但想看看是否有更好的方法??赡艿慕鉀Q方案1使語句接受100個變量,并使用保證不在表中的虛擬值填充其余變量; 多次調(diào)用超過100個值。可能的解決方案2不要使用準(zhǔn)備好的聲明; 構(gòu)建并運行查詢嚴(yán)格檢查可能的注入攻擊。
3 回答

叮當(dāng)貓咪
TA貢獻1776條經(jīng)驗 獲得超12個贊
體面的SQL包裝器支持綁定到數(shù)組值。即
$sql = "... WHERE id IN (?)";
$values = array(1, 2, 3, 4);
$result = $dbw -> prepare ($sql, $values) -> execute ();
添加回答
舉報
0/150
提交
取消