Please Help - error=Warning: mysql_fetch_array(): supplied a

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
tbrown
Forum Newbie
Posts: 2
Joined: Sun Jun 04, 2006 4:34 pm

Please Help - error=Warning: mysql_fetch_array(): supplied a

Post by tbrown »

Hello. I am a "newbie" (4 months). I bought the PHP/Apache/Mysql (E.Naramore) book. I was doing well (up to chapter 5); but I have hit a wall. I get this error:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\htdocs\movie_details.php on line 104


I think it has to do wtith the d/base connectivity. The table is there (populated with data. I am using an include for connectivity - which is working fine (for all the other tables). I have checked / rechecked ny code for hours. The 1st half of the script works fine (i am getting poper out put - see below:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\htdocs\movie_details.php on line 104
Bruce Almighty: Details
Movie Title Year of Release Movie Director Movie Lead Actor Movie Running Time Movie Health
Bruce Almighty 2003 Tom Shadyar Jim Carrey 102 mins $10m


Here is the code: Any and all help is GREATLY APPRECIATED. Thanks in advance for your input.

Code: Select all

<?php
include ('functions_awa.php');
include ('location.php');
include ('connectmovie.php');


// make sure we are using the right d/base
mysql_select_db("moviesite")
or die (mysql_error());

// function to see if movie made money
function calculate_differences($takings, $cost)
{
$difference = $taking - $cost;
if ($difference < 0)
{
$difference = substr($difference, 1);
$font_color = 'red';
$profit_or_loss = "$" . $difference . "m";
}
elseif ($difference > 0)
{
$font_color = 'green';
$profit_or_loss = "$" . $difference . "m";
}
else
{
$font_color = 'blue';
$profit_or_loss = "Broke even";
}
return "<font color=\"$font_color\">" . $profit_or_loss . "</font>";
}

// below added per page 125 - but taken from table3
// below page 118
function get_director()  
{
global $movie_director;
global $director;

$query_d = "SELECT people_fullname FROM people WHERE people_id= '$movie_director'";
$results_d = mysql_query($query_d)
or die(mysql_error());
$row_d = mysql_fetch_array($results_d);
extract($row_d);
$director = $people_fullname;
}

function get_leadactor()
{
global $movie_leadactor;
global $leadactor;

$query_a = "SELECT people_fullname FROM people WHERE people_id = '$movie_leadactor'";
$results_a = mysql_query($query_a)
or die(mysql_error());
$row_a = mysql_fetch_array($results_a);
extract($row_a);
$leadactor = $people_fullname;
}

// function added - page 131
function generate_ratings($review_rating)  
{
$movie_rating = '';
for($i=0; $i < $review_rating; $i++)
{
$movie_rating .= "<img src=\"../img/bullets_stars_pp_002.gif\">$nbsp;";
}
return $movie_rating;
}

// echo $_GET['movie_id'];
//chg to "movie query' page 130
$movie_query = "SELECT * FROM movie WHERE movie_id = '" . $_GET['movie_id'] . "'";
$movie_result = mysql_query($movie_query, $connect)
or die(mysql_error());

$movie_table_headings = 
"<tr>
	<th>Movie Title</th>
	<th>Year of Release</th>
	<th>Movie Director</th>
	<th>Movie Lead Actor</th>
    <th>Movie Running Time</th>
	<th>Movie Health</th>
</tr>";

// ADDED PER  PAGE 131 
$review_table_headings =
"<tr>
	<th>Date of Review</th>
	<th>Movie Title</th>
	<th>Reviewer Name</th>
	<th>Movie Review Comments</th>
    <th>Rating</th>
</tr>
";

while ($review_row = mysql_fetch_array($review_result))
{
	$review_flag      =    1;
	$review_title[]   =    $review_row['review_name'];
	$reviewer_name[]  =    ucwords($review_row['review_reviewer_name']);
	$review[]         =    $review_row['review_comment'];
	$review_date[]     =    $review_row['review_date'];
	$review_rating[]    =    generate_ratings($review_row['review_rating']);
}	
// now page 132
$i = 0;
$review_details = '';
while ($i<sizeof($review))
{
$review_details .=<<<REVTAG
<tr>
    <td width="15%" valign="top" align="center">$review_date[$i]</td>
	<td width="15%" valign="top">$review_title[$i]</td>
	<td width="10%" valign="top">$reviewer_name[$i]</td>
	<td width="50%" valign="top">$review[$i]</td>
    <td width="10%" valign="top" align="center">$review_rating[$i]</td>
</tr>
REVTAG;
$i++;

// below } from stmt 102 'while
}

// end of page 131 & 132 additns.

while ($row = mysql_fetch_array($movie_result))
{
	$movie_name      =    $row['movie_name'];
	$movie_director  =    $row['movie_director'];
	$movie_leadactor =    $row['movie_leadactor'];
	$movie_year      =    $row['movie_year'];
	$movie_running_time = $row['movie_running_time']." mins";
	$movie_takings   =    $row['movie_takings'];
	$movie_cost      =    $row['movie_cost']; 

// get directors name from "people table" - page 119 - and called for on 125
get_director();
// get lead actors from "people table" - page 119
get_leadactor(); 
}
echo $review_query;
//BOTOM PAGE 130
$review_query = "SELECT * FROM reviews WHERE review_movie_id = '" . $_GET['movie_id'] . "' ORDER BY review_date DESC";
$review_result = mysql_query($review_query, $connect)
or die(mysql_error());
	
// from bottom page 126
$movie_health = calculate_differences($movie_takings, $movie_cost);   
$page_start =
"<html>
<head>
<title>Details and Reviews for: $movie_name</title> 
</head> 
<body> 
";

$movie_details =
"<table width=\"70%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\" align=\"center\"> 
<tr>
    <th colspan=\"6\"><u><h2>$movie_name: Details</h2></u></th> 
</tr>
$movie_table_headings
<tr>
    <td width=\"33%\" align=\"center\">$movie_name</td>
	<td align=\"center\">$movie_year</td>
	<td align=\"center\">$director</td>
	<td align=\"center\">$leadactor</td>
    <td align=\"center\">$movie_running_time</td>
    <td align=\"center\">$movie_health</td>
</tr>
</table>
<br>
<br>
";

// per page 132 
if ($review_flag)
{
$movie_details .=<<<MOVDET
<table width="95%" border="0" cellspacing="2" cellpadding="20" align="center"> 
$review_table_headings
$review_details
</table>
MOVDET;
}

// end page 132 
$page_end =<<<PAGEND
</body>
</html>
PAGEND;

$detailed_movie_info =<<<DETMOV
 $page_start
  $movie_details
  $page_end
DETMOV;

echo $detailed_movie_info;
mysql_close();
 
?>
Post Reply