Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error mysqli_query() expects parameter 1

Estas en el tema de Error mysqli_query() expects parameter 1 en el foro de PHP en Foros del Web. hola a todos Tengo un problema al insertar datos en una tabla mediante mysql/php les explico, tengo esta tabla donde el campo codigo_perfil es un ...
  #1 (permalink)  
Antiguo 28/06/2015, 14:56
 
Fecha de Ingreso: junio-2015
Mensajes: 6
Antigüedad: 8 años, 9 meses
Puntos: 0
Exclamación Error mysqli_query() expects parameter 1

hola a todos

Tengo un problema al insertar datos en una tabla mediante mysql/php

les explico, tengo esta tabla



donde el campo codigo_perfil es un campo foraneo de esta tabla



Bueno, mi intencion es registrar un usuario, para eso tengo un archivo funciones.php donde tengo la funcion ingresarUsuario

Código PHP:
Ver original
  1. ?php
  2.  
  3.     function conectar()
  4.     {
  5.         global $conexion;
  6.         $conexion = mysqli_connect("localhost","root","","vendotodo");
  7.         mysqli_set_charset($conexion, 'utf8');
  8.     }
  9.    
  10.     function ingresarUsuario($user, $pass, $nombre, $apellido, $correo, $codigoPerfil, $fechaNac)
  11.     {
  12.         global $conexion;
  13.         $sql="INSERT INTO usuarios (id_usuario, login_usuario, pass_usuario, nombre_usuario, apellido_usuario, correo_usuario, codigo_perfil, fechaNacimiento_usuario)
  14.                   VALUES ('".$user."','".$pass."','".$nombre."','".$apellido."','".$correo."',".$codigoPerfil.",'".$fechaNac."')";
  15.    
  16.         mysqli_query($conexion, $sql);   <----- linea 38
  17.     }
  18.  
  19. ?>

y tengo una rchivo validar.php, que es donde recogo los datos ingresados por el usuario y ejecuto el metodo anterior

Código PHP:
Ver original
  1. <?php
  2. require 'funciones.php';
  3.  
  4.     $user = $_POST['user'];
  5.     $pass = $_POST['pass'];
  6.     $nombre = $_POST['nombre'];
  7.     $apellido = $_POST['apellido'];
  8.     $correo = $_POST['correo'];
  9.     //$codigoPerfil = 3;
  10.     if($_POST['perfil']=='Administrador')
  11.     {
  12.         $codigoPerfil = 1;
  13.     }
  14.     if($_POST['perfil']=='Consulta')
  15.     {
  16.         $codigoPerfil = 2;
  17.     }
  18.     if($_POST['perfil']=='Vendedor')
  19.     {
  20.         $codigoPerfil = 3;
  21.     }
  22.     $fechaNac = $_POST['fechaNac'];
  23.    
  24.     ingresarUsuario($user,$pass,$nombre,$apellido,$correo,$codigoPerfil,$fechaNac);
  25. ?>

el problema es que al intentar registrar el usuario, me retorna el error


Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\VendoTodo\funciones.php on line 38

adjunto por si acaso el formulario de registro

Código HTML:
Ver original
  1. <form action="validar.php" method="post" class="login">
  2.  
  3.     <div><label>Usuario</label><input name="user" type="text" required ></div>
  4.  
  5.     <div><label>Password</label><input name="pass" type="password" required></div>
  6.    
  7.     <div><label>Nombre</label><input name="nombre" type="text" required></div>
  8.    
  9.     <div><label>Apellido</label><input name="apellido" type="text" required></div>
  10.    
  11.     <div><label>Correo</label><input name="correo" type="email" required></div>
  12.    
  13.     <div><label>Perfil</label> <select name="perfil" style="float:right;">
  14.                                         <option value="seleccion">Seleccione perfil</option>
  15.                                         <option value="administrador">Administrador</option>
  16.                                         <option value="consulta">Consulta</option>
  17.                                         <option value="vendedor">Vendedor</option>
  18.                                 </select> </div>
  19.    
  20.     <div><label>Fecha Nacimiento</label><input name="fechaNac" type="text" ></div>
  21.  
  22.     <div><input name="registro" type="submit" value="Registrarse"></div>
  23.  
  24. </form>

he probado de muchas maneras solucionarlo (siento que quizas el problema sea el campo codigo_perfil) pero sin resultados positivos

les agradezco cualquier ayuda que me brinden

saludos y gracias de antemano !
  #2 (permalink)  
Antiguo 28/06/2015, 16:04
 
Fecha de Ingreso: agosto-2010
Mensajes: 18
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Error mysqli_query() expects parameter 1

Código PHP:
Ver original
  1. <?php
  2.  
  3.     function conectar()
  4.     {
  5.         $conexion = mysqli_connect("localhost","root","","vendotodo");
  6.         mysqli_set_charset($conexion, 'utf8');
  7.         return $conexion;
  8.     }
  9.    
  10.     function ingresarUsuario($user, $pass, $nombre, $apellido, $correo, $codigoPerfil, $fechaNac)
  11.     {
  12.         $conexion = conectar();
  13.         $sql="INSERT INTO usuarios (id_usuario, login_usuario, pass_usuario, nombre_usuario, apellido_usuario, correo_usuario, codigo_perfil, fechaNacimiento_usuario)
  14.                  VALUES ('".$user."','".$pass."','".$nombre."','".$apellido."','".$correo."',".$codigoPerfil.",'".$fechaNac."')";
  15.    
  16.         mysqli_query($conexion, $sql);
  17.     }
  18.  
  19. ?>

proba asi
  #3 (permalink)  
Antiguo 28/06/2015, 16:52
 
Fecha de Ingreso: junio-2015
Mensajes: 6
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Error mysqli_query() expects parameter 1

Cita:
Iniciado por Ludomatic Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2.  
  3.     function conectar()
  4.     {
  5.         $conexion = mysqli_connect("localhost","root","","vendotodo");
  6.         mysqli_set_charset($conexion, 'utf8');
  7.         return $conexion;
  8.     }
  9.    
  10.     function ingresarUsuario($user, $pass, $nombre, $apellido, $correo, $codigoPerfil, $fechaNac)
  11.     {
  12.         $conexion = conectar();
  13.         $sql="INSERT INTO usuarios (id_usuario, login_usuario, pass_usuario, nombre_usuario, apellido_usuario, correo_usuario, codigo_perfil, fechaNacimiento_usuario)
  14.                  VALUES ('".$user."','".$pass."','".$nombre."','".$apellido."','".$correo."',".$codigoPerfil.",'".$fechaNac."')";
  15.    
  16.         mysqli_query($conexion, $sql);
  17.     }
  18.  
  19. ?>

proba asi

Gracias !, ya no me arroja el error, se ejecuta todo normal pero nome inserta los datos, como si estubiese mal escrita la sentencia (segun veo esta bien escrita, por ende deberia insertar ._.)

saludos

EDITO: el problema era que colocaba en la funcion insertar, el valor id_usuario cuando este era AI...

Gracias !!

Última edición por gersard; 28/06/2015 a las 17:44

Etiquetas: mysqli, null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:37.