Hi,
This is my first post in this forum! I am getting the following error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '1 'ORDER BY review_date DESC' at line 1
My entire code is:
<?php
$link = mysql_connect("localhost","root","dev")
or die (mysql_error());
mysql_select_db("moviesite")
or die (mysql_error());
// Function to get the director's name from the people's 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'";
$result_a=mysql_query($query_a)
or die (mysql_error());
$row_a=mysql_fetch_array($result_a);
extract($row_a);
$leadactor = $people_fullname;
}
/* $query = "SELECT * FROM movie" .
" WHERE movie_id='" . $_GET['movie_id'] . "'";
*/
$movie_query = "SELECT * FROM movie" .
" WHERE movie_id='" . $_GET['movie_id'] . "'";
//$result = mysql_query($query)
$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;
function generate_ratings($review_rating) {
$movie_rating = '';
for ($i=0;$i<$review_rating;$i++) {
$movie_rating .= "<img src=\"tick.jpg\"> ";
}
return $movie_rating;
}
// echo $_GET['movie_id'];
$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());
//while ($row = mysql_fetch_array($result)) {
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();
/*Function to calculate if a movie made a profit, loss or broken even */
function calculate_differences($takings,$costs) {
$difference = $takings - $costs;
if ($difference < 0) {
$difference = substr ($difference, 1);
$font_color = 'red';
$profit_or_loss = "S" . $difference. "m";
} else if ($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>";
}
$movie_health = calculate_differences($movie_takings,$movie_cost);
$page_start=<<<EOD
<html>
<head>
<title> Details and Reviews for: $movie_name</title>
</head>
<body>
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;
}
$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
$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>
<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;
while($review_row = mysql_fetch_array($review_results)) {
$review_flag=1;
$review_title[] = $review_row['review_name'];
$reviewer_name[] =ucwords($review_row['review_reviwer_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_daye[$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">reviwer[$i]</td>
<td width="10%" valign="top" align="center">$review_rating[$i]</td>
</tr>
EOD;
$i++;
}
$page_end =<<<EOD
</body>
</html>
EOD;
$detailed_movie_info =<<<EOD
$page_start
$movie_details
$page_end
EOD;
echo $detailed_movie_info;
mysql_close();
?>
I've looked at code so many times but I can't find what's wrong with it. I know that the SQL syntax is right.....
Thank you in advance for your help.