mysql_real_escape_string - problem

0

Witam !

mam problem z funkcją mysql_real_escape_string

w domu pracuję sobie nad projektem bazy z logowaniem i wykorzystuję serwer XAMPP i wszystko jest OK ale jak wrzuciłem to na serwer WWW to wychodzą ostrzeżenia.
kod wygląda tak

if(isset($_POST['iduzytkownika']) && isset($_POST['haslo']))
{

$bd_lacz = new mysqli('localhost', 'user', 'haslo', 'baza');
  $iduzytkownika =  mysql_real_escape_string($_POST['iduzytkownika']);
  $haslo = mysql_real_escape_string($_POST['haslo']);
....
 
 

i wychodzą błędy

 
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'user'@'localhost' (using password: NIE) in /home/KONTA/WWW/PREMIUM/ścieżka dostępu on line 17

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/KONTA/WWW/PREMIUM/ścieżka dostępu on line 17

wyczytałem na necie że czasami tak się robi gdy funkcję mysql_real_escape_string stosujemy przed połączeniem z bazą i niby gdy zastosujemy ją po połączeniu problem powinien zniknąć ..... ano nie zniknął ano po ani przed :(

ktoś ma jeszcze jakieś inne pomysły ??

0

dosłownie przed chwilą doczytałem jeszcze na innym forum żeby zastosować coś takiego

 $mysqli-> mysql_real_escape_string

i wtedy mój kod wygląda tak

 <?php
session_start();

if(isset($_POST['iduzytkownika']) && isset($_POST['haslo']))
{
	$bd_lacz = new mysqli('localhost', 'user', 'haslo', 'baza');

  $iduzytkownika =  $mysqli-> mysql_real_escape_string($_POST['iduzytkownika']);
  $haslo = $mysqli-> mysql_real_escape_string($_POST['haslo']);
 
  

  if (mysqli_connect_errno()) {
    echo 'Połączenie z bazą danych nie powiodło się: '.mysqli_connect_error();
    exit();
  }

  $zapytanie = 'zapytanie które sprawdza czy dany uzytkownik jest w bazie';

  $wynik = $bd_lacz->query($zapytanie);
  if($wynik->num_rows > 0)
  {
    $_SESSION['prawid_uzyt'] = $iduzytkownika; 
  }
  $bd_lacz->close();
}
?>

ale po wpisaniu loginu i hasła i zatwierdzeniu wywala mi błąd

 Fatal error: Call to a member function mysql_real_escape_string() on a non-object in /home/KONTA/WWW/PREMIUM/ścieżka do pliku on line 9

rozkładam ręce, jeszcze będę szukał ale jak ktoś ma pomysł to proszę o szybką odpowiedź

0

Nigdy nie korzystałem z mysqli.
Ale tak to działa:

  mysql_connect('localhost','user','pa$$W0rd');
  mysql_select_db('baza');
$iduzytkownika =  mysql_real_escape_string($_POST['iduzytkownika']);
0
Marcin.Miga napisał(a)

Nigdy nie korzystałem z mysqli.
Ale tak to działa:

  mysql_connect('localhost','user','pa$$W0rd');
  mysql_select_db('baza');
$iduzytkownika =  mysql_real_escape_string($_POST['iduzytkownika']);

To zacznij albo przestań gadać od rzeczy?
http://pl2.php.net/manual/en/mysqli.real-escape-string.php

$bd_lacz->real_escape_string();

Nie używaj zmiennej $mysqli skoro jej nie definiujesz...

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