etreu Geschrieben 15. August 2002 Geschrieben 15. August 2002 Ich will Werte in eine DB eintragen. Dazu gibts ein Formular. Da wird der Wert eingetragen, der SQL-String generiert und die Abfrage abgeschickt. So weit, so gut. irgendwo ist da der Wurm drin: if($action=="Hinzufügen") { $SQL_setRegion="INSERT INTO Regionen (Region) VALUES ('$Region')"; echo "SQL: $SQL_setRegion<p>"; $setRegion=mysql_query(SQL_setRegion,$Verbindung); if($setRegion) { echo "Die Region $Region wurde in die Datenbank eingefügt."; } else echo "Die Region $Region konnte leider nicht in die Datenbank eingefügt werden."; } [/PHP] Aus welchem Grund auch immer geht der Rechner in den Else-Zweig, obwohl die Anweisung richtig ist, was ein manuelles Eingeben (bzw. Kopieren-Einfügen) des generierten Strings beweist. Zitieren
Impulz Geschrieben 15. August 2002 Geschrieben 15. August 2002 Hallo mach mal nach dem Query nen echo mysql_error(); und schau ob das query fehl schlaegt. Michael Zitieren
tobias-digital Geschrieben 15. August 2002 Geschrieben 15. August 2002 die funktion heißt mysql_db_query nicht mysql_query Zitieren
etreu Geschrieben 15. August 2002 Autor Geschrieben 15. August 2002 1. ich habe jetzt rausbekommen, wo der Fehler liegt: Ich bekomme mit dem Befehl mysql_select_db() keinen Rückgabewert. Genaugenommen schient PHP den Befehl nicht auszuführen. 2. Der Befehl mysql_query() führt zu dem gleichen Ergebnis wie mysql_db_query(). Außerdem ist mysql_db_query() deprecated erklärt worden (soll nicht weiter genutzt werden). siehe: http://www.php.net/manual/en/function.mysql-db-query.php und http://www.php.net/manual/en/function.mysql-query.php Zitieren
goepp Geschrieben 15. August 2002 Geschrieben 15. August 2002 hallo! mysql_query() ist schon richtig. mysql_db_query ist veraltet (seit PHP 4.0.6) und sollte nicht mehr verwendet werden. Zitieren
beetFreeQ Geschrieben 15. August 2002 Geschrieben 15. August 2002 Schätze mal, der Fehler liegt in dieser Zeile: $setRegion=mysql_query(SQL_setRegion,$Verbindung) Ohne $-Zeichen vor der Variablen SQL_setRegion wird ja die Query nicht richtig übergeben und es kann gar kein DB-Eintrag erfolgen ... Zitieren
etreu Geschrieben 15. August 2002 Autor Geschrieben 15. August 2002 Die Funktion mysq_query() erwartet einen SQL-String. In meinem Fall steht der in der Variablen $SQL_getRegionen. Die anderen Parameter sind optional. Das Problem habe ich gefunden (siehe Beitrag oben), ich weiss nur nicht, wie ich es beheben kann :( :confused: :( Zitieren
beetFreeQ Geschrieben 16. August 2002 Geschrieben 16. August 2002 Original geschrieben von E-T Die Funktion mysq_query() erwartet einen SQL-String. In meinem Fall steht der in der Variablen $SQL_getRegionen. Die anderen Parameter sind optional. Das Problem habe ich gefunden (siehe Beitrag oben), ich weiss nur nicht, wie ich es beheben kann :( :confused: :( Wieso? Du mußt doch einfach nur ein Dollarzeichen vor die Variable innerhalb der Funktion mysql_query setzen - damit sie als Variable erkannt wird. Der SQL-String steht ja schon in der Variable drin... Also folgendermaßen: $setRegion=mysql_query($SQL_setRegion,$Verbindung) [/PHP] Zitieren
etreu Geschrieben 16. August 2002 Autor Geschrieben 16. August 2002 Jaaaaaaa, das ist aber nicht das Problem. Zitieren
beetFreeQ Geschrieben 16. August 2002 Geschrieben 16. August 2002 Original geschrieben von E-T Jaaaaaaa, das ist aber nicht das Problem. Achso, sorry, hatte mich verlesen... Dann weiß ich es leider auch nicht... - wenn wirklich alles richtig geschrieben ist und es die DB auch gibt... Kannst du denn mal den Code posten, in dem du die Datenbank selektierst und möglichst ein paar Zeilen außenrum? Vielleicht ist der Wurm ganz woanders... Zitieren
etreu Geschrieben 17. August 2002 Autor Geschrieben 17. August 2002 Nee, leider ist das genau diese Stelle. Wenn ich die Daten einfach in die von MySQL automatisch erstellte DB "test" kopiere und mich damit verbinde funktioniert es. Wenn ich eine selbst ertellte DB nehme dann nicht. Die von mir erstellten User dürfen sich von überall anmelden und haben die Stadardrechte (INSERT, UPDATE,...). Im Falle eines Erfolges hat die Funktion mysql_select_db() als Rückgabewert die "1" ansonsten nichts, bzw. das die() wird ausgeführt. $Selection=mysql_select_db($Name,$Verbindung) or die("schon wieder nichts"); echo $Selection;[/PHP] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.