recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment opérer sur plusieurs lignes lors de l'exécution d'une requête SQL

Cette requête est valide :

$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));

Ce ne sera pas le cas :

$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));

Je ne comprends pas pourquoi.

P粉311617763P粉311617763428 Il y a quelques jours615

répondre à tous(1)je répondrai

  • P粉529245050

    P粉5292450502023-09-13 09:29:15

    Vous devez disperser l'IDS en paramètres distincts pour faire correspondre toutes les %s。使用...syntaxes de la requête pour y parvenir.

    $wpdb->query($wpdb->prepare("UPDATE {$media_table} SET disabled = %s WHERE id IN ($in)", $disabled, ...$ids));

    répondre
    0
  • Annulerrépondre