2 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
你永遠(yuǎn)不應(yīng)該自己弄亂引號(hào),因?yàn)檫@會(huì)導(dǎo)致 sql 注入的風(fēng)險(xiǎn)。
'此外,在這個(gè)特定的示例中,您正在插入數(shù)字,但如果您想插入像“O'Connor”這樣的字符串,甚至不討論是否要存儲(chǔ)包含和的任意文本,則在一般情況下它將不起作用:準(zhǔn)備好的語(yǔ)句會(huì)處理所有事情,安全性和引用意大利面條"。
我的建議是首先count輸入您要查詢的 id 編號(hào),然后?在IN子句中添加這些編號(hào),如下所示
$idCount = //count ids
$questmarks = array_fill(0, $idCount, "?");
$sql .= "IN(".implode(",", $questmarks).")";
如果你有 5 個(gè) id 要查詢,準(zhǔn)備好的 SQL 字符串將如下所示:
SELECT ...
WHERE
AND id IN (?,?,?,?,?)
LIMIT ?
然后按順序綁定所有參數(shù)。
$params = [$id1,$id2,$id3,$id4,$id5,$offset];
mysqli_stmt_bind_param($stmt, "ii", ...$params);

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
$followingArray = "'" . implode("','", $following) . "'";
- 2 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報(bào)