View Full Version : simple rating script errors Warning: mysql_num_rows(): supplied argument is not a val

06-07-2007, 01:46 PM
Hi have am new to php this is one of my first hand writen script its just a basic rating script, im getting some errors i cant work out, any help would be great. google says it may be because the script cant find the database but it is because it told me it couldnt find some colums, but when i got rid of the spelling mistakes im still getting errors.

below is my code and erors

$id = $_POST['id'];

//Grabing the details from the name table

$connection=mysql_connect("localhost","username", "password") or die("Unable to connect!"); /* change this! */

mysql_select_db("database") or die("Unable to select database!"); /* change this! */

$result = "SELECT * FROM name WHERE id='$id'";
$numrow = mysql_num_rows ($result);

// converting thenm into objects
$row = mysql_fetch_array($result);

$domain = GetHostByName($REMOTE_ADDR);
$submit_rating = $_POST['rate'];
$num_votes = $row["num_votes"];
$votes_total = $row["votes_total"];
$new_num_votes = ($num_votes + 1);
$new_votes_total = ($votes_total + $submit_rating);
$rating = (new_votes_total / $new_num_votes);

$query2 = "UPDATE name SET `num_votes` = '$new_num_votes',
`votes_total` = '$new_votes_total',
`rating` = '$rating'" ;

$result2=mysql_query($query2) or die("Error in query:".mysql_error());
//if ($result)
//echo mysql_affected_rows()." row inserted into the database effectively.";


header ("Location:".$_SERVER['HTTP_REFERER']." ");



Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/tyspicsc/public_html/posthate/rating_action.php on line 11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/tyspicsc/public_html/posthate/rating_action.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at /home/tyspicsc/public_html/posthate/rating_action.php:11) in /home/tyspicsc/public_html/posthate/rating_action.php on line 36

06-07-2007, 03:31 PM
Somewhere prior to the mysql_num_rows(...) statement, there needs to be a mysql_query(...) statement -

$result = "SELECT * FROM name WHERE id='$id'";
$numrow = mysql_num_rows ($result);

06-07-2007, 04:51 PM
yeah do:

$sql = "SELECT * FROM name WHERE id='$id'";
$result = mysql_query($result)
$numrow = mysql_num_rows ($result);

Hope this helps.


06-07-2007, 04:57 PM
Be sure to check the query to make sure it succeeded too.

$sql = "SELECT * FROM name WHERE id='$id'";
$result = mysql_query($sql);
if (!$result) {
die("SQL Error! $sql<br />".mysql_error());
$numrow = mysql_num_rows ($result);

06-07-2007, 08:55 PM
It would also help if the $sql variable was used instead of $result in the mysql_query(...) function call in the above two posts.

06-07-2007, 09:48 PM
thank you so much everyone it is working perfect now

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum