執行SQL查詢時,如何在多行上操作
P粉311617763
P粉311617763 2023-09-12 12:46:45
0
1
551

此查詢有效:

$player_id = $_POST['player_id'];//array $ids = explode(',',$player_id); $in = implode(',', array_fill(0, count($ids), '%d')); $wpdb->query($wpdb->prepare("DELETE FROM {$player_table} WHERE id IN ($in)", $ids));

這不會:

$disabled = $_POST['disabled']; $media_id = $_POST['media_id'];//array $ids = explode(',',$media_id); $in = implode(',', array_fill(0, count($ids), '%d')); $wpdb->query($wpdb->prepare("UPDATE {$media_table} SET disabled = %s WHERE id IN ($in)", $disabled, $ids));

我不明白為什麼。

P粉311617763
P粉311617763

全部回覆 (1)
P粉529245050

您需要將IDS分散為單獨的參數,以符合查詢中的所有%s。使用...語法來實作。

$wpdb->query($wpdb->prepare("UPDATE {$media_table} SET disabled = %s WHERE id IN ($in)", $disabled, ...$ids));
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!