mysql_query() returns returns true, but mysql_num_rows() and mysql_fetch_array() give "not a valid r

Posted by zlance4012 on Stack Overflow See other posts from Stack Overflow or by zlance4012
Published on 2010-06-09T19:08:55Z Indexed on 2010/06/09 19:12 UTC
Read the original article Hit count: 95

Filed under:
|

Here is the code in question:

-----From index.php-----

require_once('includes/DbConnector.php');

// Create an object (instance) of the DbConnector $connector = new DbConnector();

// Execute the query to retrieve articles $query1 = "SELECT id, title FROM articles ORDER BY id DESC LIMIT 0,5"; $result = $connector->query($query1);

echo "vardump1:"; var_dump($result); echo "\n";

/(!line 17!)/ echo "Number of rows in the result of the query:".mysql_num_rows($result)."\n"; // Get an array containing the results. // Loop for each item in that array

while ($row = $connector->fetchArray($result)){

echo '

'; echo $row['title']; echo '

';

-----end index.php-----

-----included DbConnector.php-----

$settings = SystemComponent::getSettings();

// Get the main settings from the array we just loaded $host = $settings['dbhost']; $db = $settings['dbname']; $user = $settings['dbusername']; $pass = $settings['dbpassword'];

// Connect to the database $this->link = mysql_connect($host, $user, $pass); mysql_select_db($db); register_shutdown_function(array(&$this, 'close'));

} //end constructor

//* Function: query, Purpose: Execute a database query * function query($query) {

echo "Query Statement: ".$query."\n";

$this->theQuery = $query;

return mysql_query($query, $this->link) or die(mysql_error());

}

//* Function: fetchArray, Purpose: Get array of query results * function fetchArray($result) {

echo "<|"; var_dump($result); echo "|> \n";

/(!line 50!)/$res= mysql_fetch_array($result) or die(mysql_error());

echo $res['id']."-".$res['title']."-".$res['imagelink']."-".$res['text'];

return $res; } -----end DbConnector.php-----

-----Output-----

Query Statement: SELECT id, title FROM articles ORDER BY id DESC LIMIT 0,5 vardump1:bool(true) PHP Error Message

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /path to/index.php on line 17

Number of rows in the result of the query: <|bool(true) |>

PHP Error Message

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /path to/DbConnector.php on line 50

© Stack Overflow or respective owner

Related posts about php

Related posts about mysql