SitePoint Sponsor

User Tag List

Results 1 to 14 of 14

Threaded View

  1. #1
    SitePoint Member
    Join Date
    Apr 2011
    South Africa
    1 Post(s)
    0 Thread(s)

    Warning: mysql_num_rows(): supplied argument... error

    Hello everyone.

    I would appreciate it if someone could help me with this. I have built an online store around a year ago (it's not a real store - I just wanted to learn php and mysql). However, I've changed hosting providers in the meantime and when I imported the database to once again get the store up and running, I ran into quite a few problems. Everything worked 100% before and now I'm getting this error:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/ on line 91

    This is the php code:
    PHP Code:

    // Script Error Reporting
    // Check to see the URL variable is set and that it exists in the database
    if (isset($_GET['category'])){
    // Connect to the MySQL database  
    include "storescripts/connect_to_mysql.php"
    $sql mysql_query("SELECT * FROM products WHERE subcategory='$subcategory'");
    // Adam's Pagination Logic
    $nr mysql_num_rows($sql); // Get total of Num rows from the database query
    if (isset($_GET['pn'])) { // Get pn from URL vars if it is present
    $pn preg_replace('#[^0-9]#i'''$_GET['pn']); // filter everything but numbers
    } else { // If the pn URL variable is not present force it to be value of page number 1
    $pn 1;

    $MyURL $_SERVER['PHP_SELF']."?".http_build_query($_GET);

    //This is where we set how many database items to show on each page 
    $itemsPerPage 5

    // Get the value of the last page in the pagination result set
    $lastPage ceil($nr $itemsPerPage);
    // Be sure URL variable $pn(page number) is no lower than page 1 and no higher than $lastpage
    if ($pn 1) { // If it is less than 1
    $pn 1// force if to be 1
    } else if ($pn $lastPage) { // if it is greater than $lastpage
    $pn $lastPage// force it to be $lastpage's value

    // This creates the numbers to click in between the next and back buttons
    $centerPages "";
    $sub1 $pn 1;
    $sub2 $pn 2;
    $add1 $pn 1;
    $add2 $pn 2;
    if (
    $pn == 1) {
    $centerPages .= '&nbsp; <span class="pagNumActive">' $pn '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $add1 '">' $add1 '</a> &nbsp;';
    } else if (
    $pn == $lastPage) {
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $sub1 '">' $sub1 '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' $pn '</span> &nbsp;';
    } else if (
    $pn && $pn < ($lastPage 1)) {
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $sub2 '">' $sub2 '</a> &nbsp;';
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $sub1 '">' $sub1 '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' $pn '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $add1 '">' $add1 '</a> &nbsp;';
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $add2 '">' $add2 '</a> &nbsp;';
    } else if (
    $pn && $pn $lastPage) {
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $sub1 '">' $sub1 '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' $pn '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' $MyURL.'&pn=' $add1 '">' $add1 '</a> &nbsp;';
    // This line sets the "LIMIT" range
    $limit 'LIMIT ' .($pn 1) * $itemsPerPage .',' .$itemsPerPage
    // Now we are going to run the same query as above but this time add $limit onto the end of the SQL syntax
    // $sql2 is what we will use to fuel our while loop statement below
    $sql2 mysql_query("SELECT * FROM products WHERE subcategory='$subcategory$limit"); 
    // END Adam's Pagination Logic
    // Adam's Pagination Display Setup
    $paginationDisplay ""// Initialize the pagination output variable
    // This code runs only if the last page variable is not equal to 1 
    if ($lastPage != "1"){
    // This shows the user what page they are on, and the total number of pages
    $paginationDisplay .= 'Page <strong>' $pn '</strong> of ' $lastPage'&nbsp;  &nbsp;  &nbsp; ';
    // If we are not on page 1 we can place the Back button
    if ($pn != 1) {
    $previous $pn 1;
    $paginationDisplay .=  '&nbsp;  <a href="' $MyURL.'&pn=' $previous '"> Back</a> ';
    // Lay in the clickable numbers display here between the Back and Next links
    $paginationDisplay .= '<span class="paginationNumbers">' $centerPages '</span>';
    // If we are not on the very last page we can place the Next button
    if ($pn != $lastPage) {
    $nextPage $pn 1;
    $paginationDisplay .=  '&nbsp;  <a href="' $MyURL.'&pn=' $nextPage '"> Next</a> ';
    // END Adam's Pagination Display Setup
    $dynamicList "";
    $productCount mysql_num_rows($sql2); // count the output amount
    if ($productCount 0) {
    // get all the product details
    while($row mysql_fetch_array($sql2)){ 
    $id $row["id"];
    $product_name $row["product_name"];
    $price $row["price"];
    $details $row["details"];
    $category $row["category"];
    $subcategory $row["subcategory"];
    $date_added strftime("%b %d, %Y"strtotime($row["date_added"]));
    $dynamicList .= '<table style="float: left;" width="50%" border="0" cellspacing="0" cellpadding="6">
              <td width="17%" valign="top"><a href="product.php?id=' 
    $id '"><img style="border:#666 1px solid;" src="inventory_images/' $id '.jpg" alt="' $product_name '" width="77" height="102" border="1" /></a></td>
              <td width="83%" valign="top">' 
    $product_name '<br />
    $price '<br />
                <a href="product.php?id=' 
    $id '">View Product Details</a></td>
    } else {
    $dynamicList "We have no products listed in our store yet";
    And this is the page giving the error (hope I'm allowed to give a link?)

    You'll notice that none of my subcategories are working and whenever I add products the category and subcategory are no longer added to the database. I'm completely stuck... Can someone point me in the right direction?
    Last edited by spikeZ; Mar 5, 2013 at 06:02.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts