sql probleem....
Ik ben nog maar een beginnend php programmeur, en loop tegen een probleem op waar ik niet zo snel een antwoord op kan vinden.
Voor het eerst werk ik daadwerkelijk met functies, en ik probeer daarom nu mijn nieuwsberichten met een functie uit de database te lezen, echter doe ik waarschijnlijk iets niet goed. De foutmelding die ik krijg luid als volgt:
Notice: Undefined variable: result in C:\Documents and Settings\Appie\Mijn documenten\wamp\www\final2\mysql_functies.php on line 46
Warning: mysql_free_result() expects parameter 1 to be resource, null given in C:\Documents and Settings\Appie\Mijn documenten\wamp\www\final2\mysql_functies.php on line 46
Hier volgt de code van de functie die ik gebruik:
// sqlGetRows : Return the query result.
function sqlGetRows($query) {
$returnval = array();
$resource = mysql_query($query);
if ($resource) {
while($result = mysql_fetch_assoc($resource)) {
$returnval[] = $result;
}
}
mysql_free_result($result);
return $returnval;
}
Ik ben nu al 2 dagen aan het klooien en ik kom niet van de bovenstaande foutmelding af, dus wie weet kan iemand van jullie zeggen wat ik precies verkeerd doe...
Alvast Hartelijk Dank,
Hermes.
mysql_free_result($result); binnen je whileloop.
en zorg er voor dat je je code kunt debuggen, dan kan je tenminste zien of de queries die aan de functie gevoerd worden ook daadwerkelijk uitgevoerd worden.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if ($resource === false)
// schrijf naar een logfile of toon op het scherm
echo mysql_error().'<br />'.$query;
}
else {
while($result = mysql_fetch_assoc($resource)) {
$returnval[] = $result;
}
?>
if ($resource === false)
// schrijf naar een logfile of toon op het scherm
echo mysql_error().'<br />'.$query;
}
else {
while($result = mysql_fetch_assoc($resource)) {
$returnval[] = $result;
}
?>
Maar kijk vooral nog eens goed naar:
http://www.php.net/mysql_free_result
Aar anoniem op 19/10/2010 20:37:25:
mysql_free_result($result); binnen je whileloop.
Je moet het niet bonter maken dan dat het al is, dan flikker je al na de eerste fetch je resultset de biettenbak in.
Gewijzigd op 19/10/2010 20:45:50 door Noppes Homeland