Autor | Zpráva | ||
---|---|---|---|
Jan Zabloudil Profil |
Ahoj,
nevíte prosím kde mám v tomto kodu chybu : <?php $db = mysql_connect('localhost', 'root', 'heslo') or die('Nemohu se připojit. Zkontrolujte prosím připojení k serveru.'); mysql_select_db('moviesite', $db) or die(mysql_error($db)); $kodovani = mysql_query("SET NAMES 'UTF8'"); // načtení informace $dotaz = 'SELECT movie_name, movie_year, movie_director, movie_leadactor, movie_type FROM movie ORDER BY movie_name ASC, movie_name DESC'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db)); // zjištění počtu řádků ve výsledku $pocet_filmu = mysql_num_rows($vysledky); $tabulka = <<<ENDHTML <div style="text-align: center;"> <h2>Databáze s recenzemi filmů</h2> <table border="1" cellpadding="2" cellspacing="2" style="width: 70%; margin-left: auto; margin-right: auto;"> <tr> <th>Název filmu</th> <th>Rok uvedení na plátna kin</th> <th>Režisér</th> <th>V hlavní roli</th> <th>Kategorie</th> </tr> ENDHTML; // projdi výsledky while($radek = mysql_fetch_assoc($vysledky)){ extract($radek); $tabulka .= <<<ENDHTML <tr> <td>$movie_name</td> <td>$movie_year</td> <td>$movie_director</td> <td>$movie_leadactor</td> <td>$movie_type</td> </tr> ENDHTML; } $table .= <<<ENDHTML </table> <p>Počet filmů: $pocet_filmu</p> </div> ENDHTML; echo $tabulka; ?> |
||
Joker Profil |
#2 · Zasláno: 6. 6. 2013, 21:58:18
Jan Zabloudil:
Naše „oblíbená“ disciplína „Hledej syntaktickou chybu v kilometru kódu“ Viz Nejčastější potíže s PHP (FAQ), na kterém řádku chyba vzniká? |
||
Tori Profil |
Za druhým blokem heredoc jsou za středníkem mezery, ty tam nemají co dělat. (ř.39)
edit: A prefixovat názvy DB sloupců názvem tabulky mi přijde zbytečné (předpokládám, že to děláte jen kvůli usnadnění extract($radek) , aby se prefixem oddělily proměnné z DB a ze skriptu.
|
||
Rfilip Profil |
Dle chyby tipuju ze na jednom z radku 27,39,45 bude u ENDHTML; nejaka ta mezera navic
Tori byl rychlejsi a oresnejsi , ty mezery nejsou na mobilu videt |
||
Jan Zabloudil Profil |
Rfilip:
Díky kod jsem upravil ted mi to háže známou chybu: Parse error: syntax error, unexpected $end in C:\xampp\htdocs\table2.php on line 62 ale žádnou mezeru nemám nevíš kde je chyba <?php // Připoj se k MySQL $db = mysql_connect('localhost', 'root', 'heslo') or die('Nemohu se připojit. Zkontrolujte prosím připojení k serveru.'); mysql_select_db('moviesite', $db) or die(mysql_error($db)); $kodovani = mysql_query("SET NAMES 'UTF8'"); // načtení informace $dotaz = 'SELECT movie_name, movie_year, movie_director, movie_leadactor, movie_type FROM movie ORDER BY movie_name ASC, movie_name DESC'; $vysledky = mysql_query($dotaz, $db) or die(mysql_error($db)); // zjištění počtu řádků ve výsledku $pocet_filmu = mysql_num_rows($vysledky); $tabulka = <<<ENDHTML <div style="text-align: center;"> <h2>Databáze s recenzemi filmů</h2> <table border="1" cellpadding="2" cellspacing="2" style="width: 70%; margin-left: auto; margin-right: auto;"> <tr> <th>Název filmu</th> <th>Rok uvedení na plátna kin</th> <th>Režisér</th> <th>V hlavní roli</th> <th>Kategorie</th> </tr> ENDHTML; while ($radek = mysql_fetch_assoc($výsledky)) { extract($radek); $tabulka .= <<<ENDHTML <tr> <td>$movie_name</td> <td>$movie_year</td> <td>$movie_director</td> <td>$movie_leadactor</td> <td>$movie_type</td> </tr> ENDHTML; } $tabulka .= <<<ENDHTML </table> <p>Počet filmů: $pocet_filmu</p> </div> ENDHTML; ?> Rfilip: j už jsem odstranil i tu poslední mezeru ale zase chyba : Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\table2.php on line 52 (tady řádek 38) |
||
Tori Profil |
Viz [#3], teď jsou to řádky 27 a 44. Začala bych na vašem místě používat IDE / editor, který je schopen chyby tohoto druhu odhalit (aspoň tím, že vše až do konce skriptu obarví jako řetězec, místo jako PHP příkazy - což je vlastně docela dobře vidět i tady).
Rfilip: Je to nejčastější chyba, kterou dělám, když píšu v editoru bez zvýraznění syntaxe, takže jsem zvyklá to sledovat. |
||
Jan Zabloudil Profil |
#7 · Zasláno: 6. 6. 2013, 22:18:55
Kašlu na to tohle je ta nejhorší technika php jakou jsem kdy viděl
|
||
Časová prodleva: 12 let
|
0