| 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: 13 let
|
|||
0