Autor Zpráva
Fury
Profil *
Zdravím,

potřebuju vypsat z databáze do pole všechny práva, která chci uložit do prava() a na to chci používat následující funkci:

                         $ar = mysqli_query($db, ("SELECT * FROM admin_prava WHERE uzivatel_id = $_GET[edit]"));
                          while($a = mysqli_fetch_array($ar))
                          {
                           $prava[] = $a['modul_id'];
                          }

Ovšem toto mi vyhazuje chybu:

Fatal error: Cannot use object of type mysqli_result as array in /www/admin/moduly/admin.php on line 80

Mohu poprosit o radu, jak toto vyřešit?

Díky!
RastyAmateur
Profil
Fury:
Napadá mě
$ar = mysqli_query($db, ("SELECT * FROM admin_prava WHERE uzivatel_id = $_GET['edit']"));
lionel messi
Profil
RastyAmateur:
Fury:
Napadá mě

Tesne vedľa:

$ar = mysqli_query($db, "SELECT * FROM admin_prava WHERE uzivatel_id = $_GET[edit]");

Zátvorky okolo dotazu nemajú čo robiť, ale takisto ani apostrofy, ktoré si doplnil (syntaktická chyba).
juriad
Profil
lionel messi:
Závorky nevadí.

Fury:
Jsi si jistý, že jsi na 4. řádku příkladu nezaměnil $a a $ar?
Monkeys
Profil *
Fury:
Podla mna takto:

mysqli_query($db, ("SELECT * FROM admin_prava WHERE uzivatel_id = " . intval($_GET['edit']) . ""));
M.
anonymníí
Profil *
Monkeys:
Sakra, kde se bere ten zlozvyk s tím prázdným stringem na konci? A proč ty závorky kolem dotazu?

V SQL dotazu chyba není, chybová hláška tomu neodpovídá. Řešení našel asi juriad, chyba je až za SQL dotazem.
Fury
Profil *
juriad:
Určitě ne, kopíroval jsem crtl+c -> ctrl+v. Tady posílám ještě obrázek:


Netušíte, kde by mohl být zakopaný pes? Vůbec si nevím rady.

Díky moc
Zechy
Profil
Fury:
Dle té chyby se z mysqli_fetch_array() (i když zdroje na netu praví jinak a php dokumentace tu funkci ani nezná pro jistotu), vrací objekt typu mysqli_result. Zkusil bych tedy:
$row = $a->fetch_array();
$prava[] = $row["modul_id"];

EDIT: Tak nakonec ta funkce je tam uvedená u mysqli_result::fetch_array(), ale i tam píšou, že by měla vrátit pole... V čem je potom tady zakopaný pes, že z toho leze mysqli_result?

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: