2017-09-18 10 views
0

私のサイトでこのスクリプトを実行すると、結果が成功したことが出力に示されていても今のところ削除されたクエリを削除します)。 mysqlで直接クエリを実行すると、行が削除されます。削除のためのdb_queryはPHPコードでは機能しませんが、直接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 "; 
    } 

画面やログにエラーメッセージはありません。

答えて

0

私は

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

('Session opened for %%name.', 'Session closed for %%name.', 'New user: %%name (%%email).')) 
なっパーセント記号をエスケープしなければならなかったが判明
関連する問題