Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/03/2014, 04:27
fom78
 
Fecha de Ingreso: mayo-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: mysql_real_escape_string no funciona

Cita:
Iniciado por BloodShadow Ver Mensaje
Saludos gente, tengo una consulta con respecto a esta funcion de php.

para prueba tengo esto en una funcion

Código PHP:
Ver original
  1. public static function login($user, $password){
  2.         echo '<br/>USER ANTES1: ' . $user;
  3.         echo '<br/>PASS ANTES: ' . $password;
  4.         $user_safe = mysql_real_escape_string($user);
  5.         $password_safe = mysql_real_escape_string($password);
  6.         echo '<br/>USER SAFE ANTES: ' . $user_safe;
  7.         echo '<br/>PASS SAFE ANTES: ' . $password_safe;
  8.         $query = 'SELECT IFNULL(`id`, 0) FROM `user` WHERE `user` = \'' . $user_safe . '\' AND `password` = \'' . $password_safe . '\' AND `active` = 1 LIMIT 0,1';
  9.         echo '<br/>'.$query;
  10.         exit();
  11.         $rs = kconnection::getResultData($query);
  12.         return $rs;
  13.     }

y el resultado en pantalla es:

USER ANTES1: [email][email protected][/email]
PASS ANTES: 123456
USER SAFE ANTES:
PASS SAFE ANTES:

SELECT IFNULL(`id`, 0) FROM `user` WHERE `user` = '' AND `password` = '' AND `active` = 1 LIMIT 0,1

Esto me pasa solo cuando lo subo al servidor, en mi local funciona perfectamente y no entiendo el xq, la version de php local es 5.3.1 y en el server es 5.3.2 segun la [URL="http://php.net/manual/es/function.mysql-real-escape-string.php"]documentacion de php[/URL] esta funcion esta obsoleta a partir de php 5.5+ cosa q no se cumple en mi caso, alguien me podria explicar que sucede?

Eso mismo me pasaba...me volvi loco!!!

Dejo mi solucion, espero a alguien mas le sirva

Donde tenia(usando mysqli_real_escape_string):
$user_safe = mysqli_real_escape_string($user);

he colocado

$user_safe = mysqli_real_escape_string($link,$user);

En localhost (PHP version 5.5) funcionaba de maravillas con la primera opcion, pero hosteado en 000webhost, no funcionaba (PHP version 5.2.*).