mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Ik ben nu al enkele uren aan het zoeken naar een oplossing voor dit probleem, ook op phphulp.nl, ik vind honderde verschillende oplossingen, tot hiertoe geen die mij verderhelpt. Maar dit komt waarschijnlijk omdat ik mijn eerste stappen zet in query's, php wil wel al lukken.
Hier is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$host="localhost";
$username="gretadenil";
$password="xxx";
$database="bloemen";
mysql_connect($host,$username,$password);
mysql_select_db($database)or die("Kan database '$database' niet selecteren");
$query="SELECT * FROM 'bloemen' ORDER BY 'latijn' ASC";
$result=mysql_query($query);
$num=mysql_num_rows($result);//lijn 13
mysql_close ();
if($num == "0"){
echo "Fout:<br>Query: ".$query."<br>Result:".$result."<br>Num:".$num."";
}else{
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"latijn");
$familie=mysql_result($result,$i,"familie");
echo "\"".$id."\",";
$i++;
}
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$host="localhost";
$username="gretadenil";
$password="xxx";
$database="bloemen";
mysql_connect($host,$username,$password);
mysql_select_db($database)or die("Kan database '$database' niet selecteren");
$query="SELECT * FROM 'bloemen' ORDER BY 'latijn' ASC";
$result=mysql_query($query);
$num=mysql_num_rows($result);//lijn 13
mysql_close ();
if($num == "0"){
echo "Fout:<br>Query: ".$query."<br>Result:".$result."<br>Num:".$num."";
}else{
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"latijn");
$familie=mysql_result($result,$i,"familie");
echo "\"".$id."\",";
$i++;
}
}
?>
Dit is het resultaat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Documents and Settings\Internet\Bureaublad\nieuwe database\www\tuingreta.tk\tabel.php on line 13
Fout:
Query: SELECT * FROM 'bloemen' ORDER BY 'latijn' ASC
Result:
Num:
Ik begrijp er niets meer van...
Lijn 13 heb ik aangeduid in mijn script, in dit script is het niet lijn 13 omdat ik de logingegevens in een apart bestand heb staan en dat dan 'include'.
Iemand raad?
Als je vaker dit soort warnings krijgt is het handig om mysql_error() te gebruiken:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$result = mysql_query($query);
if(!$result)
{
echo mysql_error();
}
else {
// doe je ding
?>
$result = mysql_query($query);
if(!$result)
{
echo mysql_error();
}
else {
// doe je ding
?>
Dan zie je meteen waar de fout zich bevind.
In ieder geval bedankt, hij doet het.
Die moet je bij deze vergeten, wissen uit je geheugen en die toets of uit je keyboard slopen of deze vastlassen. Backquotes NIET gebruiken
Als het géén getal is zet je de waarde tussen quotes. De veldnaam echter nóóit tussen quotes of tussen backtics.