2017-09-18 5 views
0

Lorsque j'exécute ce script sur mon site, il ne supprime aucune ligne, même si la sortie montre que la requête a réussi supprimer la requête écrite, pour l'instant). Lorsque j'exécute directement la requête dans mysql, elle supprime les lignes.db_query pour supprimer ne fonctionne pas dans le code PHP, mais s'exécute correctement dans mysql

if (db_query("DELETE FROM {watchdog} WHERE ((type = 'user' AND message IN ('Session opened for %name.', 'Session closed for %name.', 'New user: %name (%email).')) OR type = 'access denied' OR (type = 'smtp' AND message = 'Sending mail to: @to')) AND hostname = '%s'", array($hostname))) 
    { 
     echo "<br />DELETE FROM watchdog WHERE ((type = 'user' AND message IN ('Session opened for %name.', 'Session closed for %name.', 'New user: %name (%email).')) OR type = 'access denied' OR (type = 'smtp' AND message = 'Sending mail to: @to')) AND hostname = '$hostname'"; 
    } 
    else 
    { 
     echo "<br />could not delete $hostname "; 
    } 

Aucun message d'erreur n'apparaît à l'écran ou dans les journaux.

Répondre

0

s'avère que je devais échapper à la pour cent signe

('Session opened for %name.', 'Session closed for %name.', 'New user: %name (%email).')) 

devient

('Session opened for %%name.', 'Session closed for %%name.', 'New user: %%name (%%email).'))