Autor Zpráva
JackS
Profil *
Zdravím,

na webu jsme začal používat funkce mysqli_ a začal jsem mí problém u jednoho dotazu do db:

Připojení do db:

$db = mysqli_connect('','db','heslo') or die();
mysqli_select_db($db, 'db');
mysqli_query($db, "SET NAMES utf8");
 
$uzivatel = mysqli_query($db, ("
 SELECT 
    *,
    CONCAT(jmeno, ' ',prijmeni) jmeno
 FROM uzivatele 
 WHERE email = '$_SESSION[UserEmail]' AND heslo = '$_SESSION[UserPass]' AND smazano = 0"));
  if(mysqli_num_rows($uzivatel))
  {
  
  }
  

A hlásí mi to:
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /www/funkce.php on line 492

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /www/funkce.php on line 493

Zvláštní je, že v jiném skriptu mi vše funguje v pořádku, přitom tam využívám stejné funkce:
     $prihlaseni = mysqli_query($db, ("
        SELECT 
        *,
        CONCAT(jmeno, ' ',prijmeni) jmeno
     FROM 
     uzivatele 
     WHERE email = '$_POST[email]' AND heslo = '$_POST[heslo]'"));
     if(mysqli_num_rows($prihlaseni))
     {
     
     }

Díky moc za pomoc
lionel messi
Profil
JackS:
Funkcia mysqli_connect prijíma 4 parametre (server, login, heslo a názov databázy), nie 3 ako jej staršia mysql_* sestra.
JackS
Profil *
Upravil jsem, ale to neřeší popisovaný problém, protože i když jsem měl funce mysqli_connect napsanou tak, jak předtím, tak to fungovalo také bez problémů, jen z nějakého neznámého důvodu to přestalo fungovat u tohoto případu.

Díky
lionel messi
Profil
JackS:
Skús zmeniť dotaz takto:

    SELECT 
        *,
        CONCAT(jmeno, ' ',prijmeni) celejmeno
     FROM 
     uzivatele 
     WHERE email = '$_POST[email]' AND heslo = '$_POST[heslo]'

Možno sa ti tam bije alias s názvom stĺpca jmeno. Inak vkladať do dotazu neošetrené užívateľské vstupy je bezpečnostný hazard.

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: