[英]Prepared statement mysqli
我越來越着迷了。 我是第一次使用准備好的語句,並且可以肯定的是,我已經讀過一些地方可以准備這樣的語句:
$stmt = $db->prepare("INSERT INTO {$table} (:var1, :var2) VALUES (:val1, :val2)");
$stmt->bind_param(':var1', $var1);
$stmt->bind_param(':var2', $var2);
$stmt->bind_param(':val1', $val1);
$stmt->bind_param(':val2', $val2);
$stmt->execute();
或類似的東西。 我記得我讀過您可以使用以':'為前綴的特定名稱來調用var。 但是我真的找不到一個例子。 我閱讀了php手冊,但找不到此示例的任何示例。 是對的還是我夢到了?
常問問題
如果您想知道為什么我不能簡單地使用'?' 方法:
$stmt = $db->prepare("INSERT INTO {$table} (?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?)");
這很難寫。
您不能在一列名稱列表和VALUES
列表中同時執行:var1
, :var2
, :varX
。 其次,PDO接受命名參數綁定。
請參閱PDO :: prepare中的 PHP數據對象和示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.