Dlaczego MYSQLI nie działa?

0

Napisałem prościutki skrypt:

if(isset($_POST["login"], $_POST["pass"]))
{
$db_host='localhost';
$db_user='lala';
$db_pass='user';
  $link = mysql_connect($db_host, $db_user, $db_pass)
  or die('Brak połączenia z serwerem MySQL');
  $db = @mysql_select_db("lolo", $link)
  or die('Nie mogę połączyć się z bazą danych');
  $wynik=mysql_query("SELECT * FROM users WHERE user ='$_POST[login]' AND pass ='$_POST[pass]'")or die('<br>pusto');
  if (mysql_num_rows($wynik))
{
echo('zalogowany');
}else
echo("<br>niezalogowany");
}

Dlaczego jeżeli wpiszę jako login:
admin' /*
jako wynik otrzymuję pusto zamiast zalogowany?
Dodam, że w bazie istnieje user admin a w php.ini wyłączyłem wszelką magię.

Co oprócz magic_quotes może blokować MYSQLI dla podanego skryptu?

0

skrypt w dup. a i to zadne mysqli (klasa albo funkcje mysqli_ a nie mysql)
zobacz co pisze mysql_error ...

0

Skrypt jest słaby celowo i taki właśnie ma być.
A co do mysql injection to jak najbardziej admin' or 1=1 się łapie.

0

Sorry, oczywiście chodziło i o admin'/*

0

Zamiast or die('pusto') wstaw die(LINE . ': ' . mysql_error()), już ci o tym mówili.

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