Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2013, 04:35
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años, 3 meses
Puntos: 84
mysqli_fetch_array

estoy actualizando medianamente la manera en que me conecto a la base de datos, comenzando por mysqli ya que PDO se me hace de momento muy difícil.

leyendo un libro guía de php 5.3 concluí que tenía que cambiar ciertas cosas, sencillas, en la clase que utilizo para conectar.

finalmente esta me quedó de la siguiente manera

Código PHP:
Ver original
  1. class Conectar
  2.     {
  3.         public static function connect($TextoSQL)
  4.         {
  5.             $IDConexion = mysqli_connect("localhost", "root", "", "hoteles");
  6.            
  7.             /*ya no necesito mysqli_selec_db porque la base de datos sepuede
  8.             incorporar en mysqli_connect*/
  9.            
  10.             //mysqli_select_db($IDConexion , "hoteles");
  11.                        
  12.                         //mysqli_query recibe primero el idconexion y después el textosql
  13.            
  14.             $IDConsulta = mysqli_query($IDConexion , $TextoSQL);
  15.            
  16.             if ($IDConsulta == false)
  17.             {
  18.                 echo "ERROR: <br>\n";
  19.                 echo mysqli_error($IDConexion);
  20.             }
  21.             else
  22.             {
  23.                 return $IDConsulta;
  24.             }
  25.         }
  26.     }

a la hora de acceder y extraer los datos lo hago de la siguiente manera, por ejemplo para que un usuario inicie sesión

Código PHP:
Ver original
  1. class Sesion_usuario
  2.     {
  3.         private $result=array();
  4.         public function sesion($usuario, $passwd, $email)
  5.         {
  6.             $identificacion="SELECT usuario, passwd FROM usuarios where usuario='".$usuario."' , passwd='".$passwd."'";
  7.             $result_conexion= Conectar::connect($identificacion);
  8.             while($resultado=mysqli_fetch_array($result_conexion))
  9.             {
  10.                 $this->result[]=$resultado;
  11.             }
  12.             return $this->result;
  13.         }
  14.         public static function borrar_sesion()
  15.         {
  16.             unset($_SESSION['usuario']);
  17.         }
  18.        
  19.     }

según el libro y según la documentación oficial mysqli_fetch_array se comporta igual que el viejo mysql_fetch_array.

pero al iniciar sesión (con usuario: q y password: q) me devuelve el siguiente error que no comprendo

Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' passwd='q'' at line 1
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\xampp\web\poo\clases.php on line 91
¿alguien me puede ayudar?

gracias! :D