[php + MYSQL] Query funktioniert nicht!

Deunan

Mitglied
Hallo!

Also ich weiß einfach nicht mehr weiter.
Hab mir nen Onlineshop programmiert.
Der Warenkorb lässt sich füllen, leeren ... funktioniert alles.
Jetzt wenn es aber zur Bestellung kommt, möchte ich, dass die ganzen
Einträge aus dem Warenkorb ausgelesen werden und in eine Variable geschrieben werden wo ich dann das ganze per Email versende.

Mein Problem ist:
Das ich immer den Fehler:

Warning: Supplied argument is not a valid MySQL result resource in mail_tmp.php on line 42

bekomme.

Also hier mal der Quelltext:

PHP:
  //Zusammensetzung der Artikel in der Bestellung abrufen
  $db = @MYSQL_CONNECT($hostName,$username,$password) or die ("Konnte keine Verbindung zur Datenbank herstellen! config.php");

  $sid = session_id();
  $result = mysql_db_query($databaseName, "SELECT WK_KAT, WK_SPREIS, WK_MENGE, WK_PID FROM warenkorb WHERE WK_SID = '$sid'");
 $num = mysql_num_rows($result);

Also ich hab jetzt schon ziemlich viel ausprobiert und hab den Fehler aber immernoch nicht gefunden.

Zum Beispiel habe ich:
- hinter die Funktion mysql_db_query "or die ("Abfrage funktioniert nicht") geschrieben. Natürlich kam dann diese Fehlermeldung.
- dann hab ich gedacht, "dann muss doch was mit der Query nicht stimmen.
Hab also das nochmal überprüft und keinen schreibfehler gefunden.
Eine Seite vor der Bestellung wird der Warenkorb mit der Selben Abfrage ausgelesen und es funktioniert ohne Probleme.
- dann hab ich gedacht es liegt an der Funktion mysql_db_query (man weiß ja nie) und hab alles umgeändert auf mysql_query und mysql_fetch_array usw.
--> Hat aber zum selben Fehler geführt.
- zum Schluss hab ich meinen Server neu gestartet und meinen Rechner neu hochgefahren

Was kann ich denn noch machen!
Ich weiß nicht mehr weiter!:mad:
 
Steht in $databaseName was drinnen?
Statement schon direkt in der MySQL-Konsole, oder im myPhpAdmin etc. ausgeführt?

mfG,
Nitro
 
- hinter die Funktion mysql_db_query "or die ("Abfrage funktioniert nicht") geschrieben. Natürlich kam dann diese Fehlermeldung.
Also weiß du schonmal, dass das Query falsch ist.

Es gibt eine Funktion der MySQL API, die sich mysql_error nennt,
und die die die beschreibung des letzen Fehlers zurückgibt.

Also:
PHP:
$result = mysql_db_query($databaseName, "...") || die (mysql_error());
 
Ok folgendes!

Hab jetzt also eure Vorschläge überprüft.

- Hab überprüft was in der Variable $databaseName steht.
Soweit alles ok. Da steht die richtige Datenbank drin und auch wenn ich statt der Variable den Datenbanknamen in "Datenbankname" schreibe, erscheint der selbe Fehler. Und ich hab die Abfrage auch noch in der Konsole und phpMyAdmin ausgeführt (Da hats funktioniert)

- Dann hab ich das mit mysql_error() ausprobiert.
Und da bringt er mir die Fehlermeldung:
No Database Selected

Da ich eine Seite zuvor genau die Selbe Abfrage verwende und alles einwandfrei funktioniert; hab ich jetzt gedacht, das es vielleicht daran liegt, das die Funktion in der die fehlerhafte Abfrage ist in einer temporären Datei liegt (kann ja sein).
Also hab ich die ganze Funktion in die orginal Datei kopiert und das ganze nochmal probiert. Funktioniert aber auch nicht! :mad:

Was mach ich denn falsch!

So jetzt noch eine Änderung:
Nach einigem Herumprobieren hab ich jetzt die Fehlermeldung:
Access denied for user: '@localhost' to database 'bilderraum'

Da weiß ich jetzt aber nicht was ich tun soll. Auf den vorherigen Seiten hats doch auch funktioniert!

Danke das ihr mir helft!

Gruß
 
Zuletzt bearbeitet:
Hallo,

dein Quelltext:
$result = mysql_db_query($databaseName, "SELECT WK_KAT, WK_SPREIS, WK_MENGE, WK_PID FROM warenkorb WHERE WK_SID = '$sid'");

meiner Meinung nach müßte es heißen:
$result = mysql_db_query($databaseName, "SELECT WK_KAT, WK_SPREIS, WK_MENGE, WK_PID FROM warenkorb WHERE WK_SID = ' ".$sid." ' ");

$sid ist eine Variable!

Probier's mal

Lutz
 
Hi!

Habe es ausprobiert.
Selber Fehler!

Warning: Supplied argument is not a valid MySQL result resource in mail_tmp.php on line 42

Line 42 ist die Query

Trotzdem Danke!

Also ich hab mein Problem gelöst:

- Aus irgendeinem Grund wurde die Funktion send_confirmation_mail() (also die Funktion in der der Fehler war) irgendwie nicht angenommen.
Also hab ich den ganzen Quelltext in meine Page mit hineingeschrieben und dann eben keine Funktion draus gemacht. Eigentlich total komisch weil Funktionen ja ne ganz simple Sache sind. :)
Und dann waren alle Fehler weg
Komisch!
Danke an euch!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück