Zum Inhalt springen

Problem mit MySQL


Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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