Keine Ergebnisse aus Datenbank

illuminatus26

Erfahrenes Mitglied
Hallo zusammen.

Habe ein Abfrage erstellt, die mir eine Tabelle mit 6 Spalten und 9 Zeilen ausgeben müsste.
Klappt in phpmyadmin wunderbar. Nur kriege es irgendwie nicht in einer PHP-Seite ausgegben.
Was mache ich falsch ?

PHP:
$sql = "SELECT ...   " ;
	    
$ergebins = mysql_query( $blabla, $sql) or die(mysql_error());	

/*for($i;$i<mysql_num_rows($ergebnis);$i++)
	{
	$array[$i]=mysql_fetch_array($ergebnis);
	}
*/

$i=0;
while($array[$i]=mysql_fetch_array($ergebnis))
	{
	$i=++$i;
	}

Erhalte diese Fehlermeldung:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in ... on line 303
 
mysql_query

(PHP 3, PHP 4, PHP 5)
mysql_query -- Sendet eine Anfrage an MySQL
Beschreibung
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )

Bei mysql_query() kommt zuerstdas Statement und dann die Verbindungskennung. Du hast das Query aber als 2tes Attribut angegeben.
Versuche mal

PHP:
 $ergebins = mysql_query($sql) or die(mysql_error());

MFG
X
 
illuminatus26 hat gesagt.:
PHP:
$sql = "SELECT ...   " ;
 	    
 $ergebins = mysql_query( $blabla, $sql) or die(mysql_error());	
 
 /*for($i;$i<mysql_num_rows($ergebnis);$i++)
 	{
 	$array[$i]=mysql_fetch_array($ergebnis);
 	}
 */
 
 $i=0;
 while($array[$i]=mysql_fetch_array($ergebnis))
 	{
 	$i=++$i;
 	}

Dein Problem wird darin liegen, dass du die Funktion mysql_query falsch anwendest. Als Parameter zuerst die Abfrage, dann die ConnectionId. Also:
PHP:
mysql_query ($sql, $blablabla);
// oder
mysql_query ($sql);
 
Hallo zusammen.

Habe es getauscht.
Bekomme nun aber folgende Fehlermeldungen.


Für die auskommentierte Schleife:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... on line 311



und für die andere

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... on line 317

Ich versteh das nicht, selbst wenn ich nur 1 Feld abfrage erhalte ich die Fehlermeldungen.
 
Wir spielen das beliebte Spiel: Finde den Fehler

Na, wo ist er?
PHP:
$ergebins = mysql_query( $blabla, $sql) or die(mysql_error());
PHP:
while($array[$i]=mysql_fetch_array($ergebnis))
 
so kann man natürlich auch seine zeit verschwenden.... probier hier seit 3 stunden alles mögliche aus. :-) :-) :-)

es kommt zwar keine fehlermeldung mehr, aber ein ergebnis habe ich auch nicht.

woran könnte das nun wieder liegen

Es sollten 6 Spalten und 9 zeilen sein.
 
Warning: *** supplied argument is not a valid MySQL result resource in ... on line 311

Dies bedeutet fast immer, dass das Query, welches du an die DB gesendet hast nicht korrekt ist. Gib es mal an den Bildschirm aus und teste im PHPMyAdmin ;)

;)
 
Zum einen sehe ich nirgends eine Anweisung, die die Arrays ausliest und ausgibt und zum anderen denke ich, dass es mehr Sinn machen würde, die while-Schleife in die for-Schleife zu packen, da du ansonsten immer auf den letzten Datensatz zugreifst.
Wobei mir die Sinnhaftigkeit beider Schleifen nicht ganz einleuchtet, da beide Schleifen im Prinzip doch das Gleiche machen sollen, oder liege ich da falsch.
 
Ich weiss ja nicht was Du nach diesem Code machst
PHP:
while($array[$i]=mysql_fetch_array($ergebnis))
     {
     $i=++$i;
     }
aber wenn da nicht noch irgendwann eine Ausgabe erfolgt kannst Du auch nichts sehen.

Das kannst Du uebrigens auch so
PHP:
while($array[$i]=mysql_fetch_array($ergebnis))
     {
     $i++;
     }
oder gar so
PHP:
while($array[]=mysql_fetch_array($ergebnis))
     {
     }
schreiben.
 
wie ihr merkt bin ich ein ganz blutiger anfänger.
also das mit der fehlenden ausgabe habe ich nun mal behoben.
und schon kommt das nächste........


Das hatte ich schonmal. habe da aber auch bei google nix verwertbares gefunden.
die abfrage in phpmyadmin einwandfrei.
 
Zurück