Zapytania i wywołanie (tu jest problem):
$query= "SELECT movie_name, movie_director, movie_leadactor " . "FROM movie"; $movie_header = <<<EOL <h2> <center> Baza Danych Recenzji filmow </center> </h2> <table width = "70%" border="1" cellpadding="2" cellspacing="2" align = "center" > <tr> <th> Tytul filmu </th> <th> Rezyser</th> <th> Glowny aktor </th> </tr> EOL; function get_director (){ $query_d = "SELECT people_fullname ". "FROM people ". "WHERE people_id = '$movie_director'"; $director=$people_fullname; } function get_leadactor (){ $query_z = "SELECT people_fullname ". "FROM people ". "WHERE people_id = '$movie_leadactor'"; $leadactor=$people_fullname; } get_director(); get_leadactor(); $movie_details = ' '; $movie_name= $row['movie_name']; $movie_director = $row['movie_director']; $movie_leadactor= $row['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>Laczenie filmow: $num_movies</td> </tr> EOD; $movie_footer= "</table>"; $movie =<<<MOVIE $movie_header $movie_details $movie_footer MOVIE;
Baza:
<?php $movie = "CREATE TABLE movie ( movie_id int(11) NOT NULL auto_increment, movie_name varchar(255) NOT NULL, movie_type tinyint(2) NOT NULL \default 0, movie_year int(4) NOT NULL default 0, movie_leadactor int(11) NOT NULL default 0, movie_director int(11) NOT NULL default 0, PRIMARY KEY (movie_id), KEY movie_type (movie_type,movie_year) )"; $movietype ="CREATE TABLE movietype ( movietype_id int(11) NOT NULL auto_increment, movietype_label varchar (100) NOT NULL, PRIMARY KEY (movietype_id) )"; $people ="CREATE TABLE people ( people_id int(11) NOT NULL auto_increment, people_fullname varchar(255) NOT NULL, people_isactor tinyint(1) NOT NULL default 0, people_isdirector tinyint(1) NOT NULL default 0, PRIMARY KEY (people_id) )"; ?>
I wypełnienie:
<?php $movie = "CREATE TABLE movie ( movie_id int(11) NOT NULL auto_increment, movie_name varchar(255) NOT NULL, movie_type tinyint(2) NOT NULL \default 0, movie_year int(4) NOT NULL default 0, movie_leadactor int(11) NOT NULL default 0, movie_director int(11) NOT NULL default 0, PRIMARY KEY (movie_id), KEY movie_type (movie_type,movie_year) )"; $movietype ="CREATE TABLE movietype ( movietype_id int(11) NOT NULL auto_increment, movietype_label varchar (100) NOT NULL, PRIMARY KEY (movietype_id) )"; $people ="CREATE TABLE people ( people_id int(11) NOT NULL auto_increment, people_fullname varchar(255) NOT NULL, people_isactor tinyint(1) NOT NULL default 0, people_isdirector tinyint(1) NOT NULL default 0, PRIMARY KEY (people_id) )"; ?>
Sama baza i wypełnienie działa, utknąłem na wypełnianiu tabeli.
Stosujac przedstawiony wyżej kod otrzymuje:
Warning: extract() expects parameter 1 to be array, boolean given in C:\a\xampp\htdocs\nauka\r1\tabel1.php on line 36
Notice: Undefined variable: people_fullname in C:\a\xampp\htdocs\nauka\r1\tabel1.php on line 37
Warning: extract() expects parameter 1 to be array, boolean given in C:\a\xampp\htdocs\nauka\r1\tabel1.php on line 52
Notice: Undefined variable: people_fullname in C:\a\xampp\htdocs\nauka\r1\tabel1.php on line 53
Stosujac kod znaleziony gdzies w necie:
<?php $query = "SELECT movie_name, movie_director, movie_leadactor " . "FROM movie"; $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>Year of Release</th> <th>Movie Director</th> <th>Movie Lead Actor</th> <th>Movie Type</th> </tr> EOD; function get_director(){ $query_d = "SELECT people_fullname " . "FROM people " . "WHERE people_id = '$movie_director'"; $director = $people_fullname; } function get_leadactor(){ $query_a = "SELECT people_fullname" . "FROM people " . "WHERE people_id = '$movie_leadactor' "; $leadactor = $people_fullname; } $movie_details = ''; $movie_name = $row['movie_name']; $movie_director = $row['movie_director']; $movie_leadactor = $row['movie_leadactor']; get_director(); get_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>Total :$num_movies Movies</td> </tr> EOD; $movie_footer ="</table>"; $movie=<<<MOVIE $movie_header $movie_details $movie_footer MOVIE; ?>
Błąd wyswietla: 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 'WHERE people_id = '1'' at line 1.
Proszę o jakąs pomoc.