Jump to content

mysqli_num_rows() problem


tommy168

Recommended Posts

Hey guys,

 

here's the script:

 


<?php



require("header.php");



$sql = "SELECT entries.*, categories.cat FROM entries, categories

    WHERE entries.cat_id = categories.id

    ORDER by dateposted DESC

    LIMIT 1;";

$result = mysqli_query($db, $sql);

$row = mysqli_fetch_assoc($result);



echo "<p><h2><a href='viewentry.php?id=".$row['id']."'>'".$row['subject']."</a></h2><br /></p>";

echo "<p>"."<i>In <a href='viewcat.php?id=" . $row['cat_id']."'>'" . $row['cat']."</a> - Posted on " . date("D jS F Y g.iA", strtotime($row['dateposted']))."</i></p>";

echo "<p>";

echo nl2br($row['body']);

echo "</p>";



echo "<p>";



$commsql = "SELECT name FROM comments WEHRE blog_id = " .$row['id']."ORDER BY dateposted;";

$commresult = mysqli_query($db, $commsql);

$numrows_comm = mysqli_num_rows($commresult);



if($numrows_comm == 0){



    echo "<p>No comments.</p>";



} else {

    echo "(<b>".$numrows_com."</b>)comments: ";

    $i = 1;

    while($commrow = mysqli_fetch_assoc($commresult)){

    

        echo "<a href='viewentry.php?id=".$row['id']."#comment".$i."'>'".$commrow['name']."</a>";

        $i++;

    

    }



}

echo "</p>";



require("footer.php");





?>

 

The error turns out to be Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\Book\index.php on line 22

 

why is that?

Link to comment
https://forums.phpfreaks.com/topic/226712-mysqli_num_rows-problem/
Share on other sites

Your query is failing and returning a boolean FALSE to mysqli_num_rows(). Add some logic to check for query execution success or failure.

 

if( mysqli_query( $dbc, $query) ) {
     // do whatever
} else {
     echo "<br>Query: $query<br>Failed with error: " mysqli_error($dbc);
}

When your SQL is good and all you need is the number of rows theres no pointe doing it in 5 lines when you can just go for it like that. But it always depens on what your building. I was just pointing out that he could also do it like that since his gething troble with mysqli_num_rows($commresult)

 

It may look durty, it may smell bad, but at least it works great hehe

 

But you can do it like you want ;-)

 

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.