我有這個:
$value = $_POST["check"][0];
$toDELETE = $_POST["itemDELETE" . $value];
$removeFROM = $wpdb->prefix.'plugin_items';
try {
$wpdb->query($wpdb->prepare("DELETE FROM $removeFROM WHERE itemID = ''.$toDELETE .''"));
return true;
}
當我像這樣手動輸入 ID 時,它可以作業:
$value = $_POST["check"][0];
$toDELETE = $_POST["itemDELETE" . $value];
$removeFROM = $wpdb->prefix.'plugin_items';
try {
$wpdb->query($wpdb->prepare("DELETE FROM $removeFROM WHERE itemID = '2'"));
return true;
}
我似乎無法弄清楚我到底做錯了什么。我也試過
itemID = $toDELETE"
這是輸入:
<input type='checkbox' name='check[]' value='$index' onChange='this.form.submit()' checked='checked'>
<input type='hidden' name='itemDELETE$index' value='$bookID'>
當我使用var_export($_POST)它時,它會顯示這個陣列:
array ( ‘itemDELETE0’ => ‘2’, )
uj5u.com熱心網友回復:
您應該為 itemID 使用占位符。
試試這個代碼。
$wpdb->query($wpdb->prepare("DELETE FROM $removeFROM WHERE itemID = %d", $toDELETE));
參考:- https://developer.wordpress.org/reference/classes/wpdb/prepare/
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/530117.html
上一篇:Paypal按鈕粘在上面
下一篇:增加粘性選單上的徽標大小
