So bearbeiten Sie mehrere Zeilen beim Ausführen einer SQL-Abfrage
P粉311617763
P粉311617763 2023-09-12 12:46:45
0
1
679

Diese Abfrage ist gültig:

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

Das wird nicht:

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

Ich verstehe nicht warum.

P粉311617763
P粉311617763

Antworte allen(1)
P粉529245050

您需要将IDS分散为单独的参数,以匹配查询中的所有%s。使用...语法来实现。

$wpdb->query($wpdb->prepare("UPDATE {$media_table} SET disabled = %s WHERE id IN ($in)", $disabled, ...$ids));
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage