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

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