Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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

Geschrieben

hallo!

mysql_query() ist schon richtig. mysql_db_query ist veraltet (seit PHP 4.0.6) und sollte nicht mehr verwendet werden.

Geschrieben

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 ;)...

Geschrieben

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: :( :(

Geschrieben
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]

Geschrieben
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...

Geschrieben

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]

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...