Autor Zpráva
JirkaP
Profil *
$query=mysqli_query($spojeni, "select * from ".$db." where objednavka='".$_GET[i]."'");        
 while($zbozi=mysqli_fetch_assoc($query)){
     echo $zbozi[info];
     
}

Dobrý den, proč mi tento dotaz vrací jenom jeden řádek. V databázi mám uloženy tři záznamy s tímto $_GET[i] ale vypíše se pouze jeden.

Děkuji
Keeehi
Profil
JirkaP:
S dotazem to nesouvisí, ale zapni si vypisování chybových hlášek, úroveň nastav na hlášení všech chyb a všechny chyby oprav. V tomto případě používáš jako klíče v poli konstanty, které určitě nemáš nikde definované, místo řetězců, které jsi zřejmě chtěl použít. Řadu let je to jen chyba typu Notice, v nejnovější verzi PHP 7.2 to už povýšilo na Warning a v některé z příštích verzí to přestane fungovat. Správná zápis je $_GET["i"]. (to samé pole v proměnné $zbozi)

Co se problému týče, tak kód vypadá v pořádku. Proto bych hledal problém v dotazu samotném. Na tvrdo si ho vypiš echo "select * from ".$db." where objednavka='".$_GET["i"]."'"; výstup zkopíruj a pusť ručně v databázi.

Pokud ti vrátí 3 záznamy, tak si pak ověř, že i PHP obdrží 3 záznamy.
echo $query->num_rows;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: