Foutmelding in PHP / Mysql

Status
Niet open voor verdere reacties.

R.T. Singadji

Gebruiker
Lid geworden
4 aug 2001
Berichten
103
Hallo,

Bij onderstaand code krijg ik de volgende foutmelding.
Wat doe ik fout? En anders, hoe krijg ik de melding weg?


Warning: Supplied argument is not a valid MySQL result resource in /users/coolfreepage.com/rts2002/verkooptabel.php on line 10
Warning: Supplied argument is not a valid MySQL result resource in /users/coolfreepage.com/rts2002/verkooptabel.php on line 14


CODE:
PHP:
<?php

$connection=mysql_connect('xxx','xxx','xxx');
$db=mysql_select_db('xxx',$connection);

function display_verkoop($tabelnaam)

{ 	$qry_regel="select * from $tabelnaam where zoek_aanbod=2;";
	$qry_resultaat=mysql_query($qry_regel);
	$kolomteller=mysql_num_fields($qry_resultaat);

	print("<br><br><br><br><table align=\"center\" border=\"1\" cellspacing=\"0\">\n");

	while ($rij = mysql_fetch_row($qry_resultaat))
		{	print("<tr>");
			for ($kolomnr = 0;
			$kolomnr < $kolomteller;
			$kolomnr++)

			if ($rij[$kolomnr]==""){
				print("<td>&nbsp</td>");
			}
			else{

			print("<td>$rij[$kolomnr]</td>\n");
			}			
			print("</tr>\n");
		}

	print("</table>\n");	
}

display_verkoop(tbl_artikel);
?>

<br>
<br>

<?php

display_verkoop(tbl_naw);

?>
 
Laatst bewerkt door een moderator:
Plaats code tussen de PHP tags
 
probeer dit es:
PHP:
<?php

$connection=mysql_connect('xxx','xxx','xxx');
$db=mysql_select_db('xxx',$connection);

function display_verkoop($tabelnaam)

{     $qry_regel="SELECT * FROM " . $tabelnaam . " WHERE zoek_aanbod = '2'"; // hoofdlettergebruik + de 2 tussen '' gezet + een rare ';' aan het eind verwijderd...leek me niet echt dat die daar hoorde
    $qry_resultaat = mysql_query($qry_regel) OR die(mysql_error()); // als de query fout gaat, merk jij hier niets van aangezien je geen error laat weergeven....vandaar dat de rest ook niet lukt
    $kolomteller = mysql_num_fields($qry_resultaat); // num_fields....da's een veldenteller, niet een kolomteller
// en ik denk dat je 'rijenteller' bedoeld...het juiste commando daarvoor is mysql_num_rows(), magoed ik laat num_field wel staan

    print("<table align=\"center\" border=\"1\" cellspacing=\"0\">\n");

    while ($rij = mysql_fetch_row($qry_resultaat))
        {    print("<tr>");
            for ($kolomnr = 0;
            $kolomnr < $kolomteller;
            $kolomnr++)

            if ($rij[$kolomnr]==""){
                print("<td>&nbsp</td>");
            }
            else{

            print("<td>" . $rij[$kolomnr] . "</td>\n"); // beetje onderscheiding tussen tekst en variabelen
            }            
            print("</tr>\n");
        }

    print("</table>\n");    
}

display_verkoop(tbl_artikel);
?>




<?php

display_verkoop(tbl_naw);
?>
wijzigingen:
- onderscheiding tussen variabelen & pure tekst...PHP kan er soms niet mee omgaan als je simpelweg alles op 1 zootje plakt...
- een rare ';' die me daar niet leek thuishoren, dit was denk ik de voornamelijkste reden waarom alles in de war liep
- als hij het nu nog niet doet, of raar doet, vervang mysql_num_fields($qry_resultaat) dan eens door mysql_num_rows($qry_resultaat)

succes :thumb:
 
Stom

Hallo,

Waar het allemaal aan lag was de funktieaanroep.

Gewoon een verkeerde argument ingevoerd.

<?php

display_verkoop(tbl_naw);

?>

Moet zijn:

display_verkoop(tbl_artikel);

Bedankt voor jullie reacties!

Groet,

Richard.
 
PHP:
tabelnaam where zoek_aanbod='2'";

dat is de enige fout, bij mij doet hij het nu
 
Hoe zit het dan met de aanroep onder de functie?

display_verkoop(tbl_naw);

Geen haakjes of het moet al gebeuren met constanten maar dar lijkt me niet. Als het dus gewoon een stuk text is (string) dien je het tussen '' of "" te zetten...:

display_verkoop("tbl_naw");

Zo zou de tabelnaam tenminste goed gebruikt kunnen worden...
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan