web-dev-qa-db-fra.com

$ wpdb-> prepare ne fonctionne pas avec le préfixe de la table de mise à jour

Ce qui suit ne fonctionne pas avec ma table personnalisée:

$wpdb->prepare("UPDATE $wpdb->jch_gigs 
SET available = available - %d 
WHERE ID = %d", $quantity, $item) );

Mais cela fait:

$wpdb->prepare( "UPDATE jch_gigs 
SET available = available - %d 
WHERE ID = %d", $quantity, $item) );

Qu'est-ce que je fais mal?

2
jchwebdev

Votre problème est probablement que $wpdb->jch_gigs est indéfini. jch_ est-il le préfixe de vos tables de base de données, tel que défini dans wp-config.php? Si oui, essayez ceci:

$wpdb->prepare( 
    "UPDATE {$wpdb->prefix}gigs 
    SET available = available - %d 
    WHERE ID = %d",
     $quantity, 
     $item ) 
);

wpdb class sur le Codex

4
Pat J