[PHP] Supplied argument is not a valid MySQL result resource

Toby

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
@Loobo SQL-Warnung ??? Why ?

Hi,

ich schon wieder :D

Ich bin nun fast fertig mit meinem Script (leider auch mit meinen Nerven), habe aber leider noch ein weiters Prob.

Code:
for ($i=0;$i<count($ergebnis);$i++)
  {
  

   $suchtext = $ergebnis[$i][searchstring];
   
   
   // thread-Nr
   $postids = $ergebnis[$i][postids];
   $newpostids = explode ( ",", $postids );
   for ( $k=1; $k< 16; $k++ ) 
	{
    $newpostids[$i];
	

    //test
    $sql2="SELECT * FROM $tabelle WHERE postids = $newpostids[$i]";
	$result2=mysql_query($sql2, $link);
	
	for ($x=0;$x<mysql_num_rows($result2);$x++)
                   {
                   $ergebnis2[$x]=mysql_fetch_array($result2);
                    }


   	//test   

	}


Das Prob ist die letzte For-Schleife!! Die Abfrage SQL2 sollte eindeutig sein, also genau einen eindeutigen Datansatz heraussuchen. Der übrigens auch vorhanden sein müsste. Leider bekomme ich aber immer wenn ich die For-Schleife einsetze folgende Warnmeldung:

Code:
Warning: Supplied argument is not a valid MySQL result resource in /home/domain/www/auto/generate.php on line 74


Loobo weisst du warum ???
Oder evtl jemand anders??

mercy im voraus.

Toby
 
also 1. was soll die Zeile $newpostids[$i]; bringen !?

2. probier mal statt mysql_fetch_array mysql_fetch_row

3. liefert er am Anfang richtige Werte oder gar nie !?

4. und die eine Zeile schreib so

$sql2 = "SELECT * FROM `".$tabelle."` WHERE `postids ='".$newpostids[$i]."'";

also die Variablen nicht einfach in den String schreiben (weil das mag ich nicht ;)) und Parameter wie Übergabewerte unter Anführungszeichen

hast du überprüft, ob die Werte in $newpostids und den anderen Variablen korrekt sind !?
 
Original erstellt von Loopo
also 1. was soll die Zeile $newpostids[$i]; bringen !?

2. probier mal statt mysql_fetch_array mysql_fetch_row

3. liefert er am Anfang richtige Werte oder gar nie !?

4. und die eine Zeile schreib so

$sql2 = "SELECT * FROM `".$tabelle."` WHERE `postids ='".$newpostids[$i]."'";

also die Variablen nicht einfach in den String schreiben (weil das mag ich nicht ;)) und Parameter wie Übergabewerte unter Anführungszeichen

hast du überprüft, ob die Werte in $newpostids und den anderen Variablen korrekt sind !?

1. Die Variable für den Inhalt der Postings-Nummer. In der For-Schleife deshalb damit nur die ersten 15 Beiträge reingebeamt werden und nicht mehr.
Zwischenzeitlich weiss ich, dass das vollkommen unnötig war.

2. Hatt leider nichts geändert

3. Ich hab das immer überprüft mit echo $result2; Mittlerweile weiss ich, dass ich das mit echo $sql2 hätte machen müssen. Wie du richtig vermutet hast, war die SQL-Abfrage bullshit.

4. Werd ich mir angewöhnen. Bin einfach noch purer Anfänger im coden.

Loopo, Mercy für Deine Mühe.

gruss
Toby
 
Re: @Loobo SQL-Warnung ??? Why ?

mein vorschlag:
sql fehlermeldung ausgeben!

$result2=mysql_query($sql2, $link);

ändern in

$result2=mysql_query($sql2, $link) or print(mysql_error($link2));

dann zeigt er dir die sql fehlermeldung. bist du dir im übrigen auch sicher eine datenbank selektiert zu haben?


Original erstellt von Toby
Hi,

ich schon wieder :D

Ich bin nun fast fertig mit meinem Script (leider auch mit meinen Nerven), habe aber leider noch ein weiters Prob.

Code:
for ($i=0;$i<count($ergebnis);$i++)
  {
  

   $suchtext = $ergebnis[$i][searchstring];
   
   
   // thread-Nr
   $postids = $ergebnis[$i][postids];
   $newpostids = explode ( ",", $postids );
   for ( $k=1; $k< 16; $k++ ) 
	{
    $newpostids[$i];
	

    //test
    $sql2="SELECT * FROM $tabelle WHERE postids = $newpostids[$i]";
	$result2=mysql_query($sql2, $link);
	
	for ($x=0;$x<mysql_num_rows($result2);$x++)
                   {
                   $ergebnis2[$x]=mysql_fetch_array($result2);
                    }


   	//test   

	}


Das Prob ist die letzte For-Schleife!! Die Abfrage SQL2 sollte eindeutig sein, also genau einen eindeutigen Datansatz heraussuchen. Der übrigens auch vorhanden sein müsste. Leider bekomme ich aber immer wenn ich die For-Schleife einsetze folgende Warnmeldung:

Code:
Warning: Supplied argument is not a valid MySQL result resource in /home/domain/www/auto/generate.php on line 74


Loobo weisst du warum ???
Oder evtl jemand anders??

mercy im voraus.

Toby
 
das ist immer das erste was ich mach, wenn ich im Code keinen Fehler sehe:

die Variablen mit dem echo() Befehl ausgeben, um deren richtigen Inhalt zu überprüfen
 
Zurück
Oben