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); ?> Quote 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. Quote 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. Quote 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); ?> Quote 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. Quote 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 Quote 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. Quote 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. Quote 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]; } } Quote 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. Quote 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!!! Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.