problem : extract function
Hello,
i m beginner in PHP, i m learning PHP & MySQL with WROX Book ''PHP6, Apache, MySQL Web Development''.
My Problem is this i have created a page with database connection according to chapter 4 but i found the following error :
Warning: extract() [function.extract]: First argument should be an array
i am not founding any type of solution for this problem. I m including my code also Here
<?php
//take the id of director for full name of Director
function get_director($director_id)
{
global $db;
$query = 'SELECT
people_fullname
FROM
people
WHERE
people_id = '. $director_id;
$result=mysql_query($query, $db) or die (mysql_error ($db));
$row = mysql_fetch_assoc($result);
extract($row);
return $people_fullname;
}
//take in the id of a lead actor and return his/her full name
function get_leadactor($leadactor_id){
global $db;
$query = 'SELECT
people_fullname
FROM
people
WHERE
people_id ='. $leadactor_id;
$result=mysql_query($query, $db) or die (mysql_error($db));
$row=mysql_fetch_assoc($result);
extract($row);
return $people_fullnanme;
}
//take the id of movietype and return this textfull name
function get_movietype($type_id)
{
global $db;
$query = 'SELECT
movietype_label
FROM
movietype
WHERE
movietype_id='. $type_id;
$result=mysql_query($query, $db) or die (mysql_error($db));
$row=mysql_fetch_assoc($result);
return $movietype_label;
}
//connect to mysql
$db = mysql_connect('localhost', 'bp6am', 'bp6ampass') or die ('Unable to Connect the Server. Check Your connection parameters');
//make sure we are using the right database
mysql_select_db('moviesite', $db) or die (mysql_error($db));
//retrive the informtion
$query = 'SELECT
movie_name, movie_year, movie_director, movie_leadactor, movie_type
FROM
movie
ORDER BY
movie_name ASC,
movie_year DESC';
//ASC mean ascending order
//DESC means descending order
$result=mysql_query($query, $db) or die(mysql_error($db));
//determine number of rows in returned result
$num_movies = mysql_num_rows($result);
$table = <<<ENDHTML
<div style="text-align:center;">
<h2>Movie Review Database</h2>
<table border="1" cellpadding="2" cellspacing="2" style="width:70%; margin-left:auto; margin-right:auto;">
<tr>
<th>Movie Title</th>
<th>Year of Release</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
<th>Movie Type</th>
</tr>
ENDHTML;
while ($row = mysql_fetch_assoc($result))
{
extract($row);
$director=get_director($movie_director);
$leadactor=get_leadactor($movie_leadactor);
$movietype=get_movietype($movie_type);
$table .=<<<ENDHTML
<tr><td>$movie_name</td>
<td>$movie_year</td>
<td>$director</td>
<td>$leadactor</td>
<td>$movietype</td></tr>
ENDHTML;
}
$table .=<<<ENDHTML
</table>
<p>$num_movies Movies</p>
</div>
ENDHTML;
echo $table;
?>
plz help me to solve this problem.
|