Autor | Zpráva | ||
---|---|---|---|
maestorm Profil |
#1 · Zasláno: 10. 6. 2011, 11:30:31
Hezký den,
rozhodl jsem se naučit se PHP, MySQL a jelikož se učím z knížky PHP6, MySQL, Apache, tak jsem narazil momentálně na problém, který nevím, v čem přesně vězí stále mi to při zadání select2.php píše: Table 'moviesite.movietype' doesn't exist a já nevím jak tu tabulku vytvořit, nebo kde bych jí měl vytvořit, nebo co v kódu upravit? select2.php <?php $db = mysql_connect('localhost', 'root', 'klinger09') or die('Unable to connect. Check your connection parameters.'); $results = mysql_select_db('moviesite', $db) or die(mysql_error($db)); // select movie titles and thier genre after 1990 $query = 'SELECT movie.movie_name, movie.movietype_label FROM movie, movietype WHERE movie.movie_type = movie.movietype_id AND movie.movie_year > 1990 ORDER BY movie_type'; $results = mysql_query($query, $db) or die(mysql_error($db)); // Show the results echo '<table border="1">'; while ($row = mysql_fetch_assoc($results)) { echo '<tr>'; extract ($row); echo '<td>' . $movie_name . '</td>'; echo '<td>' . $movietype_label . '</td>'; echo '</tr>'; } echo '</table>'; ?> moviesite.php <?php session_start(); if($_SESSION['authuser'] != 1) { echo "You haven't got permissions to browse this website! "; exit(); } ?> <!DOCTYPE html> <head> <meta charset="utf-8"> <title>Filmový web - <?php echo $_REQUEST['favorite']; ?></title> <link type="text/css" rel="stylesheet" href="style.css" /> </head> <body> <?php include 'header.php'; ?> <?php $favorite = array ("Brian's life", 'Pianist', 'Fishman king', 'Saint grail', 'Matrix', 'Terminator 2', 'Star Wars', 'Close Encounters of the Third Kind', 'Sixteen candle holders', 'Lord of the Rings: The Fellowship of the Ring'); if (isset($_GET['favorite'])) { echo 'Welcome to our stupid website! '; echo 'Logged member: '.$_SESSION['username']; echo '<br />'; echo 'My favorite movie is '; echo $_REQUEST['favorite']; echo '.<br />'; $mark = 5; echo 'This movie is evaluated by mark: '; echo $mark; echo '<br />'; echo '<a href="date.php">'; echo 'měsíce'; echo '</a>'; } else { echo 'My '. $_POST['pocet']. ' top movies<br />'; if(isset($_GET['$sort'])) { sort($favorite); echo 'sorted by alphabet'; } $cfilmu = 0; echo '<ol>'; while ($cfilmu <$_POST['pocet']) { echo '<li>'; echo $favorite[$cfilmu]; echo '</li>'; $cfilmu = $cfilmu + 1; } } ?> </body> </html> db_create.php <?php //connect to MySQL $db = mysql_connect('localhost', 'root', 'klinger09') or die ('Unable to connect. Check your connection parameters.'); //create the main database if it doesn't already exist $query = 'CREATE DATABASE IF NOT EXISTS moviesite'; $results = mysql_query($query, $db) or die(mysql_error($db)); //make sure our recently created database is the active one $results = mysql_select_db('moviesite', $db) or die(mysql_error($db)); //create the movie table $query = 'CREATE TABLE movie ( movie_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, movie_name VARCHAR(255) NOT NULL, movie_type TINYINT NOT NULL DEFAULT 0, movie_year SMALLINT UNSIGNED NOT NULL DEFAULT 0, movie_leadactor INTEGER UNSIGNED NOT NULL DEFAULT 0, movie_director INTEGER UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (movie_id), KEY movie_type (movie_type, movie_year) ) ENGINE=MyISAM'; $results = mysql_query($query, $db) or die (mysql_error($db)); //create the movietype table $query = 'CREATE TABLE movietype ( movietype_id UNSIGNED NOT NULL AUTO_INCREMENT, movietype_label VARCHAR(100) NOT NULL, PRIMARY KEY (movietype_id) ) ENGINE=MyISAM'; $results = mysql_query($query, $db) or die(mysql_error($db)); //create the people table $query = 'CREATE TABLE people ( people_id UNSIGNED NOT NULL AUTO_INCREMENT, people_fullname VARCHAR(255) NOT NULL, people_isactor TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, people_isdirector TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (people_id) ) ENGINE=MyISAM'; $results = mysql_query($query, $db) or die(mysql_error($db)); echo 'Movie database successfully created!'; ?> db_insert.php <?php // connect to MySQL $db = mysql_connect('localhost', 'root', 'klinger09') or die ('Unable to connect. Check your connection parameters.'); //make sure you're using the correct database $results = mysql_select_db('moviesite', $db) or die(mysql_error($db)); // insert data into the movie table $query = 'INSERT INTO movie (movie_id, movie_name, movie_type, movie_year, movie_leadactor, movie_director) VALUES (1, "Bruce Almighty", 5, 2003, 1, 2), (2, "Office Space", 5, 1999, 5, 6), (3, "Grand Canyon", 2, 1991, 4, 3)'; $results = mysql_query($query, $db) or die(mysql_error($db)); // insert data into the movietype table $query = 'INSERT INTO movietype (movietype_id, movietype_label) VALUES (1,"Sci Fi"), (2, "Drama"), (3, "Adventure"), (4, "Military"), (5, "Comedy"), (6, "Horror"), (7, "Action"), (8, "Kids")'; $results = mysql_query($query, $db) or die(mysql_error($db)); // insert data into the people table $query = 'INSERT INTO people (people_id, people_fullname, people_isactor, people_isdirector) VALUES (1, "Jim Carrey", 1, 0), (2, "Tom Shadyac", 0, 1), (3, "Lawrence Kasdan", 0, 1), (4, "Kevin Kline", 1, 0), (5, "Ron Livingston", 1, 0), (6, "Mike Judge", 0, 1)'; $results = mysql_query($query, $db) or die(mysql_error($db)); echo 'Data inserted successfully!'; ?> předem všem případným pomocníkům velice děkuji! PS: Začátky bývají vždy krušné... |
||
Marek88 Profil |
#2 · Zasláno: 10. 6. 2011, 15:05:41
maestorm:
„...nevím jak tu tabulku vytvořit...“ Co zkusit soubor db_create.php? |
||
laijk Profil |
#3 · Zasláno: 10. 6. 2011, 15:13:06
maestorm:
Mám tú knihu tiež a naučíš sa tak, že pôjdeš postupne, najprv spusti db_create.php a až potom select2.php. |
||
maestorm Profil |
#4 · Zasláno: 10. 6. 2011, 15:36:05
A tedy říkáte, že je to jen tím?
PS: Co vím tak v té knize chybí (na stránkách týkajících se moviesite.php, atd.) $results = mysql_select_db('moviesite', $db) or die(mysql_error($db)); ...chybí tam právě to $results = alespoň pokud se nemýlím a pak taky u některé CREATE TABLE teď nevím přesně u které je tam pár chybných věcí třeba jak se tvoří v select1.php, nebo select2.php ta tabulka, tak tam jsem taky něco viděl (alespoň podle kódu co mají wrox na domovském webu...) |
||
laijk Profil |
#5 · Zasláno: 10. 6. 2011, 15:42:23
fakt myslíš túto knihu?? Odkaz
-ja to robím a nechýba tam nič, a na obale knihy dole máš napísanú stránku odkiaľ si môžeš stiahnúť všetky zdrojové súbory (s českým komentárom). |
||
maestorm Profil |
#6 · Zasláno: 10. 6. 2011, 16:28:04
ano myslím tuto knihu a právě mezi kódy stáhlými z webu a těmi popsanými v knize jsem našel dané nesrovnalosti...
|
||
shaggy Profil |
#7 · Zasláno: 10. 6. 2011, 17:08:45
A čo čakáte od knihy, ktorá má prvú nezrovnalosť hneď v nadpise? Ja by som bol veľmi opatrnými pri narábaní s informáciami z takej knihy. Jednoducho povedané - podľa názvu vidím, že to písal buď amatér, alebo je to marketingový ťah, ani jedno neveští nič dobré.
|
||
Mike8748 Profil |
#8 · Zasláno: 10. 6. 2011, 17:27:32
shaggy:
jakou nesrovnalost mas na mysli ? |
||
ShiraNai7 Profil |
#9 · Zasláno: 10. 6. 2011, 17:37:09
Mike8748:
Třeba to, že PHP6 je stále ve vývoji a oficiálně ani nevyšlo, krom snad jakýchsi vývojových verzí. |
||
maestorm Profil |
#10 · Zasláno: 10. 6. 2011, 20:02:34
Já vím, ale člověk chce být o krok napřed... prosím tě tedy ShiroNai7 o nějaké odkazy na materiály na webu, které by jsi mi o PHP a MySQL doporučil.
Velice děkuji! |
||
maestorm Profil |
#11 · Zasláno: 10. 6. 2011, 20:04:59
ale u db_insert.php mi to při jeho spuštění píše: Duplicate entry '1' for key 'PRIMARY' nevím jak to opravit a jak dám nejprve db_create.php a pak to select2.php tak mi to stejně napíše zase: Table 'moviesite.movietype' doesn't exist
Každá rada drahá |
||
laijk Profil |
#12 · Zasláno: 10. 6. 2011, 20:58:50
maestorm:
to spúšťaš odrazu alebo čo?? najprv spusť iba ten script db_create.php! -ináč ja som s tou knihou spokojný, aj keď je pravda, že zatial som musel raz opraviť kód lebo to čo bolo v tej knihe nešlo, ale potom keď som si stiahol z tej stránky tie kódy tak odtiaľ funguje všetko ako má. |
||
maestorm Profil |
#13 · Zasláno: 10. 6. 2011, 21:48:54
já to zkoušel několikrát, ale je to stále stejné...
|
||
Davex Profil |
#14 · Zasláno: 10. 6. 2011, 23:28:15
maestorm:
„tak mi to stejně napíše zase: Table 'moviesite.movietype' doesn't exist“ Já tu knihu nemám, ale když se do databáze podíváš přes phpMyAdmin nebo Adminer, tak tam ta tabulka movietype je? Skript db_create.php žádné chyby nehlásil? Mně totiž ano. Na stránce odkazované v [#5] najdeš v souborech ke stažení opravy chyb. Oprav kód, smaž databázi a začni znova. |
||
maestorm Profil |
#15 · Zasláno: 10. 6. 2011, 23:55:42
Děkuji za radu Davexi! Nechám to na zítra aneb ráno moudřejší večera ;-)
Přeji dobrou noc |
||
maestorm Profil |
#16 · Zasláno: 11. 6. 2011, 09:24:17
Už jsem na to přišel, podle toho staženého kódu, ale v knize jsou navíc chyby na stránkách (109,110,111,121) "$výsledky = " a potom není "UNSIGNED INT", ale TINYINT UNSIGNED
a potom jsem na 121 stránce moc nepochopil to spojení dvou tabulek a jelikož ten kód select2.php to neobsahuje prosím o kód pro spojení dvou tabulek, abych to t toho pochopil. Velice všem rádcům děkuji za dosavadní i budoucí pomoc! |
||
panther Profil |
#17 · Zasláno: 11. 6. 2011, 10:58:01 · Upravil/a: panther
maestorm:
join |
||
maestorm Profil |
#18 · Zasláno: 11. 6. 2011, 13:10:40
díky
|
||
Časová prodleva: 13 let
|
0