Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem mit MySQL

Empfohlene Antworten

Veröffentlicht

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.

Hallo

mach mal nach dem Query nen echo mysql_error(); und schau ob das query fehl schlaegt.

Michael

die funktion heißt mysql_db_query nicht mysql_query

  • Autor

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

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

  • Autor

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

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]

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

  • Autor

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]

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.