web-dev-qa-db-fra.com

passer des variables en tant que paramètres à des procédures stockées via wpdb à partir de php-script

j'ai un léger problème avec la transmission des variables php à un appel de procédure délavé à partir d'un script php. Voici les détails:

Voici comment cela fonctionne très bien - en passant les paramètres comme string:

$myHTML = $wpdb->query( 'CALL show_average_time_spent(2, "2011-10-24", "2011-10-24", @myHTML)' );

Ramène un résultat parfait.

Et voici comment cela ne fonctionne pas et lève l'erreur (en passant des paramètres comme variables):

$date_from = '2011-10-24';
$date_to = '2011-10-27';
$myHTML = $wpdb->query( 'CALL show_average_time_spent(2, $date_from, $date_to, @myHTML)' );

jette cette erreur:

Erreur de base de données WordPress: [Colonne inconnue '$ date_from' dans la 'liste de champs'] CALL show_average_time_spent (2, $ date_from, $ date_to, @myHTML)

Le $date_from n'est utilisé dans ce script php que pour conserver la date sélectionnée.

j'apprécie vraiment tout type d'aide avec ce problème.

Merci à vous tous d’essayer d’aider à résoudre ce problème.

A bientôt, Joe

3
JSS

Veuillez consulter le Codex pour savoir comment prepare votre déclaration:

// Example straight copy-paste from Codex
$metakey    = "Harriet's Adages";
$metavalue  = "WordPress' database interface is like Sunday Morning: Easy.";

$wpdb->query( $wpdb->prepare( 
    "
        INSERT INTO $wpdb->postmeta
        ( post_id, meta_key, meta_value )
        VALUES ( %d, %s, %s )
    ", 
    10, 
    $metakey, 
    $metavalue 
) );

Essayez aussi ceci avec votre code (il s'agit de security ).

2
kaiser