Fatal error: Rufen Sie an eine member-Funktion get_results() on a non-object (jQuery Von Plugin & WordPress)
Ich versuche zu verwenden die jQuery-Form-plugin in einem WordPress-plugin. Ich bin nach dieser Beispiel. Ich habe in die Warteschlange eingereiht meine Skripte und baute meine form. In csf_form_handler.php entspricht das Beispiel json-echo.php kann ich den Zugriff auf die ausgewählten Elemente in meinem Formular (ich habe eine radiobutton-Gruppe).
Mein Ziel ist es, mit der ausgewählten Werte in das Formular in einer SELECT-Anweisung, um die Daten aus einer benutzerdefinierten wordpress-Datenbank-Tabelle.
$csf_selected_sport = $_POST['csf_radiobutton_group_sport'];
global $wpdb;
$csf_db_table = $wpdb->prefix . "activity";
$csf_data = $wpdb->get_results($wpdb->prepare("
SELECT *
FROM " .$csf_db_table. "
WHERE " . $csf_selected_sport ." "));
Leider bin ich immer:
Notice: Trying to get property of non-object ($wpdb->Präfix
Linie)Fatal error: Call to a member function get_results() on a non-object
(auf die $csf_data Linie)
Den code oben in csf_form_handler.php
ist nicht in Funktion. Ich weiß nicht, ob das einen Unterschied macht.
Wie kann ich den code ändern, so dass ich verwenden können, $wpdb?
Danke.
InformationsquelleAutor Laxmidi | 2011-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim schreiben von plugins, ist es eine gute Idee, um Ihre Daten-handling in die plugin main Datei (also nicht senden Sie es in einer separaten Datei), und aktivieren von Funktionen zu behandeln es entsprechend. Im Grunde können Sie Ihre form der Aktion, um zu zeigen Sie entweder das plugin die Datei oder die Seite, die das Formular enthält.
Nehmen wir an, das Formular, auf dem Sie arbeiten, wird auf dem front-end der Website, auf der sidebar. Verarbeiten Daten aus, die form, wenn ein Benutzer klickt auf "senden", Sie konnte erstellen eine Funktion in unserem plugin-Datei, wie zum Beispiel:
Nun, Sie können Ihre form action Eigentum, Daten zu senden, um die gleiche Seite, die in der Lage sein, es zu handhaben mit der Funktion oben. Man könnte entweder:
oder
Bitte beachten Sie: um sicherzustellen, dass die Daten aus Ihrer Website (insbesondere die öffentlichen Formen), verwenden Sie wp_nonce_field() zum erstellen einer nonce-Feld validiert werden können byt wordpress über wp_nonce(): http://codex.wordpress.org/Function_Reference/wp_nonce_field
Hoffe, das hilft,
Vq.
InformationsquelleAutor Vidal Quevedo
Stieß ich auf das gleiche Problem aber ich habe es gelöst, indem Sie die
wp-config.php
- Datei aus dem Stammverzeichnis der WordPress-Ordner wie diesem:Ich hoffe, das hilft.
Fein gearbeitet. Danke!
InformationsquelleAutor Umar Niazi
Wo sind Sie diesen code ausführen? Es klingt wie Sie ausgeführt werden, BEVOR die $wpdb-Instanz erstellt wird (oder out of scope).
Wie sind Sie laden Ihre csf_form_handler.php Datei? Sind Sie auch nicht als Teil eines Skripts innerhalb von WordPress, oder ist es deine eigene plugin? Wenn letzteres zutrifft, denken Sie daran, dass Sie brauchen, um es zu aktivieren, zuerst, also WP kann es in der lade-Reihenfolge (ich gehe davon aus, dass es bereits aktiviert ist, aber JIC)
Um zu sehen, ob das $wpdb Objekt bereits erstellt worden, Sie könnten
<?php print_r($wpdb);?>
zum ausdrucken der Inhalt des Objekts.Lassen Sie mich wissen Sie mehr, und hoffentlich würde ich in der Lage, Ihnen zu helfen.
InformationsquelleAutor Vidal Quevedo
Bekam ich diesen fatalen Fehler, weil ich vergessen habe,
in der Datei, wo ich die $wpdb- > get_results() Funktion.
InformationsquelleAutor aldobsom