Cita:
Iniciado por BloodShadow
Saludos gente, tengo una consulta con respecto a esta funcion de php.
para prueba tengo esto en una funcion
Código PHP:
Ver originalpublic static function login($user, $password){
echo '<br/>USER ANTES1: ' . $user;
echo '<br/>PASS ANTES: ' . $password;
echo '<br/>USER SAFE ANTES: ' . $user_safe;
echo '<br/>PASS SAFE ANTES: ' . $password_safe;
$query = 'SELECT IFNULL(`id`, 0) FROM `user` WHERE `user` = \'' . $user_safe . '\' AND `password` = \'' . $password_safe . '\' AND `active` = 1 LIMIT 0,1';
echo '<br/>'.$query;
$rs = kconnection::getResultData($query);
return $rs;
}
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 mysql
i_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.*).