Die MySQL-Abfrage wurde viermal innerhalb der Schleife ausgeführt

Ich habe Custom-PHP in meinen Seiten durch die Verwendung des exec-php Plugins aktiviert, so dass ich komplexere Seiten als die Standard-WordPress-Seite ausführen kann. Ich hatte bisher keine Probleme mit diesem Plugin.

Ich habe kürzlich eine Seite, die ich unabhängig von WordPress verwendete, in das WordPress-System verschoben. Anstatt eine INSERT mysql-Abfrage einmal auszuführen, wie sie sollte, läuft sie jetzt 4 Mal und hinterlässt 3 redundante Zeilen in meiner database. Soweit ich das beurteilen kann gibt es keine Hilfe zu diesem Thema, ist jemand auf dieses Problem gestoßen oder weiß, wie man das umgehen kann?

Da dies die Antwort beeinflussen kann, verwende ich mysql_query() zugunsten von $wpdb->query() .

BEARBEITEN:
Ich habe seitdem die Seite neu geschrieben, um die passendste $wbdb function zu benutzen ( mein Code kann hier gefunden werden ).

Außerdem habe ich festgestellt, dass wenn ich $wpdb->flush(); Es fügt nur eine Zeile ein, aber es scheint die Schleife zu unterbrechen, da es die Vorlage nicht lädt.

Solutions Collecting From Web of "Die MySQL-Abfrage wurde viermal innerhalb der Schleife ausgeführt"

Die Verwendung eines Plugins zum Ausführen von PHP-Code in Ihren Inhalten ist nicht die beste Sache, besonders wenn der Code nicht idempotent ist .

Grundsätzlich können Sie nicht garantieren, dass Ihr Code nur einmal pro Seite geladen wird, da verschiedene Dinge im System Ihre Inhalte verarbeiten und Ihren Code mehrmals ausführen.

Anstatt Exec-PHP zu verwenden, um den Code im Post-Inhalt zu speichern, erstellen Sie eine Seitenvorlage, die Ihren Code enthält, und hängen Sie ihn dann an die fragliche Seite an. Schreiben Sie auch Ihren Code neu, so dass ein mehrmaliger Aufruf keine falschen Ergebnisse liefert (Nutzer klicken häufig auf Schaltflächen und dergleichen im Web).