Dodanie użytkownika za pomocą funkcji mysli_query kończy się niepowodzeniem

0

Mam taki problem niby prosty by się wydawał, ale coś jest nie tak
Tu jest funkcja dodająca tego użytkownika, jednak pomimo tego iż próbuje dodać tego użytkownika to go nie ma w bazie.

   public function dodaj_usera($login,$haslo) {
    //print $login . "<br>" . $haslo;
    $data = time();
    mysqli_query("insert into user (login,haslo,data) values ('$login','$haslo','$data')");
    
  }

Funkcja łącząca się z bazą

   public function polacz_z_baza() {
    
    mysqli_connect("localhost","root","a1234");
    mysqli_select_db("moja");

  }

No i ten kod

 <?php
  require("./clasy/user.php");
  require("./clasy/mysql.php");
  $login =   mysql_escape_string($_GET["login"]);
  $haslo3 =  mysql_escape_string($_GET["haslo"]);
  $haslo4 =  mysql_escape_string($_GET["haslo2"]);
  $baza = new baza;
  $baza->polacz_z_baza();
  $user2 = new user;

  if ($user2->sprawdz_czy_jest_juz_taki_uzytkownik($login) == false ) print "Jest już podany login wybierz inny<br>";
  if ($haslo3 != $haslo4) print "Podane hasła się różnią<br>";
  if (strlen($haslo3) <= 5 or strlen($haslo4) <= 5)  print "Hasło powinno mieć przynajmniej 5 znaków";
  else {
    //print $login;
    $haslo = sha1($haslo3);
    $user2->dodaj_usera($login,$haslo);
    print "<font color=green>Poprawnie dodałeś użytkownika</font>";
  }
//print "<font color=green>dobrze</font>";



//print $haslo;



?>

Dodam, że przy wykonywaniu tego kodu dostaje ostrzeżenie o następującej treści.

 [Tue May 05 19:37:50.484789 2015] [:error] [pid 7337] [client 127.0.0.1:59508] PHP Warning:  mysqli_select_db() expects exactly 2 parameters, 1 given in /var/www/html/moja_strona2/clasy/mysql.php on line 8, referer: http://127.0.0.1/moja_strona2/index.php?pozycja=reje
[Tue May 05 19:37:50.484841 2015] [:error] [pid 7337] [client 127.0.0.1:59508] PHP Warning:  mysqli_query() expects at least 2 parameters, 1 given in /var/www/html/moja_strona2/clasy/user.php on line 16, referer: http://127.0.0.1/moja_strona2/index.php?pozycja=reje
[Tue May 05 19:37:50.484855 2015] [:error] [pid 7337] [client 127.0.0.1:59508] PHP Warning:  mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /var/www/html/moja_strona2/clasy/user.php on line 17, referer: http://127.0.0.1/moja_strona2/index.php?pozycja=reje
[Tue May 05 19:37:50.484879 2015] [:error] [pid 7337] [client 127.0.0.1:59508] PHP Warning:  mysqli_query() expects at least 2 parameters, 1 given in 
0

mysql_ są deprecated. Daruj sobie.

0

może dlatego, że łączysz się za pomocą mysqli a zapytanie wykonujesz za pomocą mysql_? tak w ogole to przeanalizuj sobie manuala :)

ten link powinien załatwic sprawę: http://stackoverflow.com/questions/19148407/warning-mysqli-query-expects-at-least-2-parameters-1-given-what

0

Zachaszowałem te linijki od mysl* i ciągle to samo.

0

zamiast:

 mysqli_query("insert into user (login,haslo,data) values ('$login','$haslo','$data')");

spróbuj jakoś tak:

$connect = mysqli_connect("localhost","root","a1234");
mysqli_query($connect, "insert into user (login,haslo,data) values ('$login','$haslo','$data')");
0

Dalej to samo.

A teraz to jest dziwne, że jak użyłem zamiast funkcji mysqli* to użyłem mysql* to teraz działa.

0
 if ($user2->sprawdz_czy_jest_juz_taki_uzytkownik($login) == false ) print "Jest już podany login wybierz inny<br>";
  if ($haslo3 != $haslo4) print "Podane hasła się różnią<br>";
  if (strlen($haslo3) <= 5 or strlen($haslo4) <= 5)  print "Hasło powinno mieć przynajmniej 5 znaków";
  else {
    //print $login;
    $haslo = sha1($haslo3);
    $user2->dodaj_usera($login,$haslo);
    print "<font color=green>Poprawnie dodałeś użytkownika</font>";
  }

nie co bym się czepiał ale piszesz co w oop po czym dajesz babola tego typu, nie lepiej funkcje napisac, i na przyszłość sprawdz_czy_jest_juz_taki_uzytkownik = checkUser też wiadomo o co chodzi a pisałem to pół sekundy, podaj kod po zmianie bo gwarancja ze coś z nim zrobiłeś nie pokazując tego jest dość krótkotrwała.

0
pol90 napisał(a):

Dalej to samo.

A teraz to jest dziwne, że jak użyłem zamiast funkcji mysqli* to użyłem mysql* to teraz działa.

może dlatego, że mysqli się uzywa inaczej niz mysql? ogolnie caly ten kod jest do zmiany, więc jak napisalem - przejrzyj manuala.

1 użytkowników online, w tym zalogowanych: 0, gości: 1