Plagel Posted December 29, 2009 Share Posted December 29, 2009 Full error: Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\Users\plagel\Desktop\local\movie_details.php on line 96 I know it's something so simple. Here's the code: As an aside, do you coder-folks get heart pains when you drink 24 diet cokes and stay up for 36 hours trying to find the semi-colon? <?php ini_set ("display_errors", "1"); error_reporting(E_ALL & ~E_NOTICE); $link = mysql_connect("localhost","root","pass") or die(mysql_error()); mysql_select_db("moviesite") or die(mysql_error()); /*Function to calculate if a movie made a profit, loss or broke even */ function calculate_differences($takings, $cost) { $difference = $takings - $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>"; } /* Function to get the director's name from the people table */ 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 to get the lead actor's name from the people table */ 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 to generate ratings*/ function generate_ratings($review_rating) { $movie_rating = ''; for($i=1; $i<$review_rating; $i++) { $movie_rating .= "<img src=\"http://www.best-of-web.com/_images/070731-210357.jpg\"> "; } return $movie_rating; } $movie_query = "SELECT * FROM movie " . "WHERE movie_id ='" . $_GET['movie_id'] . "'"; $movie_result = mysql_query($movie_query, $link) or die(mysql_error()); $movie_table_headings=<<<EOD <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> EOD; $review_table_headings=<<<EOD <tr> <th>Date of Review</th> <th>Review Title</th> <th>Reviewer Name</th> <th>Movie Review Comments</th> <th>Rating</th> </tr> EOD; 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']); } $i = 0; $review_details = ''; while ($i<sizeof($review)) { $review_details .=<<<EOD <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> EOD; $i++; } 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 director's name from people table get_director(); //get lead actor's name from people table get_leadactor(); } $review_query = "SELECT * FROM reviews " . "WHERE review_movie_id = '" . $_GET['movie_id'] . "' " . "ORDER BY review_date DESC"; $review_result = mysql_query($review_query, $link) or die(mysql_error()); $movie_health = calculate_differences($movie_takings, $movie_cost); $page_start =<<<EOD <html> <head> <title>Details and Reviews for: $movie_name</title> </head> <body> EOD; $movie_details =<<<EOD <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> EOD; if ($review_flag) { $movie_details .=<<<EOD <table width="95%" border="0" cellspacing="2" cellpadding="20" align="center"> $review_table_headings $review_details </table> EOD; } $page_end =<<<EOD </body> </html> EOD; $detailed_movie_info =<<<EOD $page_start $movie_details $page_end EOD; echo $detailed_movie_info; mysql_close($link); ?> Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/ Share on other sites More sharing options...
PFMaBiSmAd Posted December 29, 2009 Share Posted December 29, 2009 I'm going to guess that either your get_director(); or get_leadactor(); function has a global $movie_result statement in it and is overwriting $movie_result with a FALSE value. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985693 Share on other sites More sharing options...
PFMaBiSmAd Posted December 30, 2009 Share Posted December 30, 2009 Actually, upon further review (you must have created this code on a MAC because copy/pasting it results in a mess of tab/new-lines) the two functions I mentioned as a possible cause are present in the source code and aren't the cause of the problem. Your query that is setting $review_result is located after the code that is using $review_result, so yes, the value you are passing mysql_fetch_array() does not exist and is a null value. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985705 Share on other sites More sharing options...
Plagel Posted December 30, 2009 Author Share Posted December 30, 2009 Well, I'm definitely not on a MAC..it MAY be because I'm using VIM for Windows.. I moved the query to before I use it, lol duh thanks..but now I get: "Query was empty" <?php ini_set ("display_errors", "1"); error_reporting(E_ALL & ~E_NOTICE); $link = mysql_connect("localhost","root","pass") or die(mysql_error()); mysql_select_db("moviesite") or die(mysql_error()); /*Function to calculate if a movie made a profit, loss or broke even */ function calculate_differences($takings, $cost) { $difference = $takings - $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>"; } $review_result = mysql_query($review_query, $link) or die(mysql_error()); /* Function to get the director's name from the people table */ 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 to get the lead actor's name from the people table */ 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 to generate ratings*/ function generate_ratings($review_rating) { $movie_rating = ''; for($i=1; $i<$review_rating; $i++) { $movie_rating .= "<img src=\"http://www.best-of-web.com/_images/070731-210357.jpg\"> "; } return $movie_rating; } $movie_query = "SELECT * FROM movie " . "WHERE movie_id ='" . $_GET['movie_id'] . "'"; $movie_result = mysql_query($movie_query, $link) or die(mysql_error()); $movie_table_headings=<<<EOD <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> EOD; $review_table_headings=<<<EOD <tr> <th>Date of Review</th> <th>Review Title</th> <th>Reviewer Name</th> <th>Movie Review Comments</th> <th>Rating</th> </tr> EOD; 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']); } $i = 0; $review_details = ''; while ($i<sizeof($review)) { $review_details .=<<<EOD <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> EOD; $i++; } 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 director's name from people table get_director(); //get lead actor's name from people table get_leadactor(); } $review_query = "SELECT * FROM reviews " . "WHERE review_movie_id = '" . $_GET['movie_id'] . "' " . "ORDER BY review_date DESC"; $movie_health = calculate_differences($movie_takings, $movie_cost); $page_start =<<<EOD <html> <head> <title>Details and Reviews for: $movie_name</title> </head> <body> EOD; $movie_details =<<<EOD <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> EOD; if ($review_flag) { $movie_details .=<<<EOD <table width="95%" border="0" cellspacing="2" cellpadding="20" align="center"> $review_table_headings $review_details </table> EOD; } $page_end =<<<EOD </body> </html> EOD; $detailed_movie_info =<<<EOD $page_start $movie_details $page_end EOD; echo $detailed_movie_info; mysql_close($link); ?> Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985733 Share on other sites More sharing options...
trq Posted December 30, 2009 Share Posted December 30, 2009 $review_query is not defined before you pass it to mysql_query. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985740 Share on other sites More sharing options...
Plagel Posted December 30, 2009 Author Share Posted December 30, 2009 You guys are really smart Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985745 Share on other sites More sharing options...
trq Posted December 30, 2009 Share Posted December 30, 2009 Its not rocket science. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985748 Share on other sites More sharing options...
Plagel Posted December 30, 2009 Author Share Posted December 30, 2009 rocket science is only like 5 equations when you get to the root of it This is much harder. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-985754 Share on other sites More sharing options...
guitarlass Posted May 20, 2010 Share Posted May 20, 2010 I have the same problem can anyone explain me why this error is coming?? Warning: mysql_fetch_array() expects parameter 1 to be resource, null given this is my code.. public static function cal_total_price($cid){ global $database; $query=sprintf("SELECT product_id FROM tblcartitem WHERE cart_id=%s", mysql_real_escape_string($cid) ); $result=mysql_query($query); echo("no of rows : ".mysql_num_rows($result)); while($record=mysql_fetch_array($record)) { echo $record[0]; } } Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-1060945 Share on other sites More sharing options...
trq Posted May 20, 2010 Share Posted May 20, 2010 Your passing it $record where you should be passing it $result. Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-1060950 Share on other sites More sharing options...
guitarlass Posted May 20, 2010 Share Posted May 20, 2010 what a stupid mistake hehe.. thanx a lot!!! Link to comment https://forums.phpfreaks.com/topic/186628-error-warning-mysql_fetch_array-expects-parameter-1-to-be-resource-null-giv/#findComment-1060951 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.