Portál AbcLinuxu, 22. prosince 2025 17:47
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.