Portál AbcLinuxu, 12. května 2025 08:00
01 <?php 02 $query="SELECT model_auta, nazev_modelu, nazev_vyrobce_id FROM tb_auto, tb_model WHERE tb_auto.model_auta=tb_model.id_model AND tb_model.nazev_vyrobce_id=tb_vyrobce.id_vyrobce"; 03 $result = mysqli_query($link, $query); 04 /* associative and numeric array */ 05 $row = mysqli_fetch_array($result, MYSQLI_BOTH); 06 printf("%s (%s)\n", $row[0], $row["model_auta"]); 07 /* free result set */ 08 mysqli_free_result($result); 09 /* close connection */ 10 mysqli_close($link); 11 ? >KDE JE CHYBA? Prosim o radu, nebo nasmerovani na link, kde zjistim jak dale. DIK
$link
i nejak nastavujete? (Tedy, pripojujete se k db?)
$query="SELECT nazev_modelu, nazev_vyrobce, id_vyrobce FROM tb_model, tb_vyrobce WHERE tb_model.vyrobce_id=tb_vyrobce.id_vyrobce ORDER BY tb_vyrobce.nazev_vyrobce"; if(!$query) { echo "Špatně napsaný dotaz do databáze"; exit(); } else { $result=mysqli_query($link, $query, MYSQLI_STORE_RESULT); if(!$result) { echo "Neproveden dotaz do databáze"; exit(); } else { $vyrobce="Výrobce: <br />"; $model="<strong>Model</strong>:"; echo $vyrobce; /* načti $result do asociativního pole */ while ($row=mysqli_fetch_assoc($result)) { $data ="" .$row["nazev_modelu"]. "\n"; echo $model .$data. "<br />"; } } /* free result set */ mysqli_free_result($result); } /* close connection */ mysqli_close($link); ?>Určitě to ještě není to pravé, ale hlášky o očekávání parametru "to be mysqli" jsou pryč. Má chyba byla již v $query, kde byl špatně napsán název sloupce...:) Takže kód nedošel ani k $result, a teď jestli se mýlim, tak bych rád, aby mne někdo opravil - nedošlo k naplnění proměnné $result, a poté tedy i nebylo co čistit ...free_result($result), proto ty chybové hlášky.
if(!$query)toto podla mna nema vyznam, nic tym nezistis
$result = mysql_query($sqlstring) or die (mysql_error()." -> ".$sqlstring)případně pokud není nutno skript zastavovat, místo
die(...)použiju
or $sqlerror.= .. totéž co v die...+"\n"a na závěr
if ($sqlerror) { alert($sqlerror); }funkce alert vytvoří javaskript s alertem, a tak se síce nic nevypíše, ale nakonec vyskočí okno se správou. Někdy se to hodí.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.