Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2015, 14:56
gersard
 
Fecha de Ingreso: junio-2015
Mensajes: 6
Antigüedad: 8 años, 10 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 !