Stránka 1 z 10

Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 14:58
od fili
Mam nasledujuci kod a vyhadzuje mi zle vysledky, moze mi niekto povedat kde mam chybu.

<?
$sql=mysql_query("SELECT * FROM veci WHERE tricka LIKE \"%".$_GET['search']."%\"");

echo "<table border=\"0\">";
echo "<tr><td>tricka</td></tr>";

while ($row=mysql_fetch_array($sql)) {
echo '<tr>';
foreach ($row as $k => $h)
if (is_int($k))
echo '<td>'.htmlspecialchars($h).'</td>';
echo '</tr>';
}

echo '</table>';
?>

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 15:17
od CZechBoY
jak si zjistil že jsou špatný výsledky?
tušim že v SQL není dvojtá uvozovka, zkus jednoduchý apostrofy '

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 17:18
od fili
ak si mal na mysli tento riadok:
$sql=mysql_query("SELECT * FROM veci WHERE tricka LIKE \"%".$_GET['search']."%\"");
tak vysledok je tu:
Parse error: syntax error, unexpected T_STRING in /domains..... on line 24

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 18:28
od CZechBoY
co je na tom řádku 24?
a nauč se odpovídat na dotazy

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 19:32
od fili
Toto je 24 riadok:
$sql=mysql_query("SELECT * FROM veci WHERE tricka LIKE \"%".$_GET['search']."%\"");
Upravil som ho podla Tvojej rady
$sql=mysql_query('SELECT * FROM veci WHERE tricka LIKE \"%".$_GET['search']."%\"');
A vysledok som napisal vyssie

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 20:04
od CZechBoY
no jasně když si upravil něco jinýho než jsem myslel :D
$sql=MySQL_Query("SELECT * FROM veci WHERE trika LIKE '%".$_GET['search']."%' ");
zkus

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 29 pro 2011 21:35
od fili
No nie som jasnovidec, tak nemozem vediet, kto si co mylsi
Po uprave je vysledok :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /domains... on line 29

A to je:
while ($row=mysql_fetch_array($sql))

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 30 pro 2011 11:07
od Ellrohir
metoda kterou mám na odstraňování těchle problémů já: zkus si ten sql dotaz pomocí echo ve skritpu vypsat a pak ho zkus vložit jako sql dotaz do phpMyAdmina...tím se často ukáže, kde je v něm problém, kterej samo php neodhalí (někdy už třeba jenom tím, že si ho vypíšeš a najednou je tam do očí bijící chyba syntaxe, který si člověk dřív nevšimne :D )

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 30 pro 2011 11:24
od fili
Zrejme mas na mysli toto:
echo mysql_error();
Skusal som, vyhadzauje aj chybu kodovania nepaci si mu utf8_slovak_ci.
Tiez som tam zongloval s tymi uvozdovkami ' a " na to reptal, ale pochybujem,
ze to moze mat vplyv na vyhodene vysledky, len na zobrazovanie diakritiky.
Alebo neviem, stale sa tocim v kruhu a neviem ako z neho von v php sa moc nevyznam,
ale potrebujem abym to fungovalo a uz som s tym stratil vela casu a vysledok ziadny,. reps. nespravny.

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 30 pro 2011 11:41
od Stene
Zkus si nechat vypsat celej sql kód pomocí echo.. Třeba se tam nějaká chybka najde

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 30 pro 2011 12:02
od CZechBoY
někde se ti asi míchá kodování ne?
radši nepiš tu chybu přesně, takhle když laik napíše že "nějaká chyba kodování a nějaká jiná chyba" tak to je fakt k ničemu informace

Re: Zle vyhadzovanie vysledkov z databazy

Napsal: 30 pro 2011 13:42
od fili
Stene neviem presne ako si to myslel. V php sa moc nevyznam, inak by som nemal take problemy. Napis kod, inak sa s tym
mozem pasovat cely den .

A chyba s kodovanim je: Unknown character set: 'utf8_slovak_ci