MySQL - SELECT-Abfrage liefert nur "Ressource ID #3" zurück

kubikus

Grünschnabel
Hallo erstmal,

ich habe das folgende Problem:

In einer Art "Internet-Shop" soll über eine SELECT-Abfrage ein Preis aus der DB ausgelesen werden. Die notewendigen Kriterien werden in einem formular_1.php über Listenfelder gewählt und an formular_2.php übergeben. Hier soll dann anhand der ausgewählten Kriterien der Preis für das Produkt angezeigt werden, die Abfrage hierfür sieht bei mir so aus:

PHP:
$Endsumme = mysql_query("SELECT '".$Lieferzeit."' FROM preisliste WHERE Bezeichnung = '".$Bezeichnung."' AND Menge = '".$Menge."' AND Format = '".$Format."' AND Seiten = '".$Seiten."' AND Druck = '".$Druck."' AND Papier = '".$Papier."' AND Verarbeitung = '".$Verarbeitung."'");

Die Datenbankverbindung wird auch einwandfrei aufgebaut.

Mein Problem also ist, dass ich "Ressource ID #3" als Asugabewert der Abfrage erhalte, obwohl dort doch dann z.B. 123,45 stehen sollte.

Ich hoffe, ich habe mein Anliegen verständlich erläutern können...
Für eine Antwort oder noch besser eine Lösung wäre ich Dankbar ;)

MfG
kubikus
 
Ich habe meinen Code jetzt wie folgt abgeändert, leider es aber immer noch nicht... :(

PHP:
 /* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_check = @MYSQL_SELECT_DB($db_name);if($db)  echo "Verbindung zur Datenbank wurde hergestellt<br><br>";
$Endsumme = mysql_query("SELECT '".$Lieferzeit."' FROM preisliste WHERE Bezeichnung = '".$Bezeichnung."' AND Menge = '".$Menge."' AND Format = '".$Format."' AND Seiten = '".$Seiten."' AND Druck = '".$Druck."' AND Papier = '".$Papier."' AND Verarbeitung = '".$Verarbeitung."'"); 
while($row = mysql_fetch_array($Endsumme)) {
	 echo $row['Preis_7'] . " EUR ";
   }

Was mache ich falsch?

MfG
kubikus
 
Das ist dein Problem:
PHP:
"SELECT '".$Lieferzeit."' FROM
.
Du Übergibst deiner Select Anweisung direkt einen Wert, ich vermute mal 3 ;).
PHP interpretiert den Code nun und gibt der Datenbank folgende Anweisung "SELECT 3 FROM" oder je nach dem was in deiner Variable $Lieferzeit steckt.

Ich schätze die Anweisung müsste so aussehen "Select id FROM" oder wie auch immer das Feld in der Datenbank heisst.
 
Erst einmal Danke für Eure Hilfe ;o)

Die Variable $Lieferzeit enthält einen Spaltennamen, z.B. Preis_7. Wenn ich aber anstelle der Variable nun einen Spaltennamen angebe, bringt er trotzdem den gleichen Fehler.

kubikus
 
Du hast in eine Variable ein ganzes Array gepackt. Das kann PHP so nicht ausgeben. Wenn du diesen SQL befehlt im PhpMyAdmin ausfühst gehts nehme ich mal an.
Und zwar weil das Prog das automatisch umändert.

eine Möglichkeit das zu ändern ist zb:
PHP:
$result = mysql_db_query($config, "SELECT user_id AS cuser_id FROM data_users");
			$stats_users = $result;
			$stats1 = mysql_fetch_array($stats_users);
			$stats1 = $stats1['cuser_id'];

und ausgabe dann halt über echo $stats1

aber da gibt es auch elegantere Lösungen.
 
Vielen Dank an Euch, die postings haben mir sehr geholfen und das Problem ist gelöst. Ich habe jetzt zwar einen etwas anderen weg eingeschlagen, aber das Ergebnis zählt ;)

Wenn ich fertig mit dem Script bin, werde ich es mal posten...

kubikus
 

Neue Beiträge

Zurück