2014-10-10 8 views
-3

У меня возникли проблемы с обновлением PHP. Раньше я использовал PHP 5.2.0 и ниже; теперь я обновился до PHP 5.5.0. Некоторые из моих фрагментов не работают, как я ожидал.Я не могу использовать функции mysql_ * после обновления PHP

Вот, например, один. он говорит,

Deprecated: mysql_real_escape_string()

Я попытался mysqli_real_escape_string() и получил другую ошибку:

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in

Вот мой код:

<?php 

require_once("includes/session.php"); 
    require_once("connections/connection.php"); 
    require_once("includes/functions.php"); 
?> 
<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 
//$hashed_password= md5($password); 

?> 
<!--Receive username password and authenticate whether the same or not with database one. --> 
<?php 
$username = stripslashes($username); 
$password = stripslashes($password); 
$username = mysqli_real_escape_string($username); 
$password = mysqli_real_escape_string($password); 

?> 

<?php 

$query = "SELECT * 
    FROM login 
    WHERE username = '{$username}' 
    AND password = '{$password}' 
    AND status=1"; 

$result = mysql_query($query); 
$count = mysql_num_rows($result); 
if($count == 1){ 
    //for the session 
    $result_fetch= mysql_fetch_array($result); 
    $_SESSION['user_id']= $result_fetch['id']; 
    $_SESSION['user_name']= $result_fetch['username']; 

    session_register("username"); 
     session_register("password"); 
    header("Location: dashboard.php"); 
    exit; 
} 
else{ 
    echo "The username or password is incorrect."; 
} 
?> 


<?php 
//5.Close connection 
if(isset($connection)){ 
    mysql_close($connection); 
} 

?> 
+0

Пожалуйста, сократите это объявление до проблемных строк или, по крайней мере, выделите, с которыми у вас возникла проблема. –

+1

Ваша первая проблема заключалась в использовании функций mysql_ *. –

+0

где вы используете mysqli_real_escape_string() ?? –

ответ

2

mysqli_real_escape_string необходимы два аргумента для работы:

Синтаксис:

mysqli_real_escape_string($connection,$escapestring); 

Вам необходимо указать переменную соединения. Это выглядит как

$connection=mysqli_connect("host","my_user","my_password","my_db"); 

Вы должны refresh your PHP knowledge.

Альтернативный метод заключается в использовании объекта базы данных, поэтому вам не обязательно каждый раз передавать данные о соединении.

+0

спасибо человеку !! Мне действительно нужно взглянуть на новые функции php. –

Смежные вопросы