login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql_num_rows() expects parameter 1 to be resource, string given (Opgelost)

Offline Erwin1976 - 18/10/2011 17:56 (laatste wijziging 18/10/2011 17:58)
Avatar van Erwin1976Lid Hoi allemaal,

Ik krijg onderstaande warning als ik een "mysql_num_rows" (regelnummer 22) telling wil uitvoeren op een SQL SELECT script:
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\wamp\www\website\blog\inc\posts.inc.php on line 39.

Ik zie wel de opmerking "bla" als records niet gevuld zijn. Het SELECT script werkt ook goed, dat is getest. Maar hoe voorkom ik deze lelijke warning?

Groeten Erwin

Script:
  1. function get_posts(){
  2. $sql = "SELECT
  3. `posts`.`post_id` AS `id`,
  4. `posts`.`post_title` AS `title`,
  5. LEFT(`posts`.`post_body`, 512) AS `preview`,
  6. `posts`.`post_user` AS `user`,
  7. DATE_FORMAT(`posts`.`post_date`,'%d/%m/%Y %H:%i:s') AS `date`,
  8. `comments`.`total_comments`,
  9. DATE_FORMAT (`comments`.`last_comment`, '%d/%m/%Y %H:%i:s') AS `last_comment`
  10. FROM `posts`
  11. LEFT JOIN (
  12. SELECT
  13. `post_id`,
  14. COUNT(`comment_id`) AS `total_comments`,
  15. MAX(`comment_date`) AS `last_comment`
  16. FROM `comments`
  17. GROUP BY `post_id`
  18. ) AS `comments`
  19. ON `posts`.`post_id` = `comments`.`post_id`
  20. ORDER BY `posts`.`post_date` DESC";
  21.  
  22. $num_rows = mysql_num_rows($sql);
  23. if ($num_rows == 0)
  24. echo "bla";
  25.  
  26. $posts = mysql_query($sql);
  27.  
  28. $rows = array();
  29. while(($row = mysql_fetch_assoc($posts)) !== false){
  30. $rows[] = array(
  31. 'id' => $row['id'],
  32. 'title' => $row['title'],
  33. 'preview' => $row['preview'],
  34. 'user' => $row['user'],
  35. 'date' => $row['date'],
  36. 'total_comments' => ($row['total_comments'] === null) ? 0 : $row['total_comments'],
  37. 'last_comment' => ($row['last_comment'] === null) ? 'never' : $row['last_comment']
  38. );
  39. }
  40.  
  41.  
  42. return $rows;
  43. }

2 antwoorden

Gesponsorde links
Offline Filip - 18/10/2011 18:01 (laatste wijziging 18/10/2011 18:02)
Avatar van Filip IRC guru lijn 22:
  1. $num_rows = mysql_num_rows($sql);

aanpassen naar
  1. $num_rows = mysql_num_rows(mysql_query($sql));


Of in andere woorden, je moet eerst de query uitvoeren voor je kan zien hoeveel rijen die bevat.
Offline Erwin1976 - 18/10/2011 18:09
Avatar van Erwin1976 Lid Het werkt, thanks!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s