3

wordpress 用のフィード リーダー プラグインを作成しています。理解できない DB エラーが表示されます。まず、 user_entries というテーブルを作成します。次に、サンプル エントリをそのテーブルに入れます。エントリを削除しようとすると、デバッグ ログに非常に奇妙なエラーが記録されます。外部キーはまだありません。データベースにはインデックスがありません。

[02-May-2012 11:21:52] クエリの WordPress データベース エラー DELETE FROM wp_wprss_user_entries
WHERE owner_uid = 2 AND feed_id = 2; do_action、call_user_func_array、wprss_unsubscribe_feed、WprssFeeds->remove で作成

それで、エラーは何ですか?そこだけ空白です。これは複雑な SQL のようには見えず、phpmysql クエリ ウィンドウで問題なく動作します。次のステップのために今何をすべきかわからないので、フィードの購読を解除できるようにしてほしいです!

4

2 に答える 2

7

理解した! $wpdb->print_error()エラーがない場合でも、そのエラー文字列を出力します。そのため、クエリが 0 ではなく false を返したかどうかを明示的に確認する必要があります。

    if(false === $wpdb->query($sql)){
      $resp->uf_error = $wpdb->print_error();
    }
于 2012-05-03T02:17:52.477 に答える
-2

クエリを分割して、1つのWHERE句からのみ削除しようとします。

すなわち:

DELETE FROM wp_wprss_user_entries WHERE owner_uid=2;
run query
DELETE FROM wp_wprss_user_entries WHERE feed_id=2;
run query

M

于 2012-05-02T13:08:41.810 に答える