This error message appeared when I started working with the lessons in Beginning PHP... again, after I had abandoned the project about a year ago. I don't think that the error message was there last year. When I searched the web, several sites returned the same error message. Below is my coding, copied with care from the book. the full error message is "Warning: extract() expects parameter 1 to be array, boolean given in /customers/0/9/a/erinaceus.eu/httpd.www/php/filmsite/table2.php on line 37 Warning: extract() expects parameter 1 to be array, boolean given in /customers/0/9/a/erinaceus.eu/httpd.www/php/filmsite/table2.php on line 52", so I marked line 37 in the code below:
<?php
$link = mysql_connect("localhost","erinaceus_eu","*********") or die(mysql_error());
mysql_select_db("erinaceus_eu") or die (mysql_error());
$query = "SELECT
movie_name,
movie_director,
movie_leadactor
FROM
movie";
$result = mysql_query($query,$link) or die(mysql_error());
$num_movies = mysql_num_rows($result);
$movie_header=<<<EOD
<h2><center>Movie Review Database</center></h2>
<table width='70%' border='1' cellpadding='2'
cellspacing='2' align='center'>
<tr>
<th>Movie Title</th>
<th>Movie Director</th>
<th>Movie Lead Actor</th>
</tr>
EOD;
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);
$row_d=mysql_fetch_assoc($results_d);
/THIS IS THE OFFENDING LINE 37/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);
$row_a=mysql_fetch_array($results_a);
extract ($row_a);
$leadactor=$people_fullname;
}
while($row = mysql_fetch_array($result))
{
$movie_name = $row['movie_name'];
$movie_director = $row['movie_director'];
$movie_leadactor = $row['movie_leadactor'];
get_director($movie_director);
get_leadactor($movie_leadactor);
$movie_details .=<<<EOD
<tr>
<td>$movie_name</td>
<td>$director</td>
<td>$leadactor</td>
</tr>
EOD;
}
$movie_details .=<<<EOD
<tr>
<td> </td>
</tr>
<tr>
<td>Totalt: $num_movies filmer</td>
</tr>
EOD;
$movie_footer ="</table>";
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
print "I databasen finns $num_movies filmer.";
print $movie;
?>
sincerly
Lennart H