Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error de insersion de datos

Estas en el tema de Error de insersion de datos en el foro de PHP en Foros del Web. HOla como van. Tengo un problema. Tengo que hacer dos select dependientes de dos niveles y bueno funcionan a la perfeccion pero el problema es ...
  #1 (permalink)  
Antiguo 26/12/2013, 19:19
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Error de insersion de datos

HOla como van. Tengo un problema. Tengo que hacer dos select dependientes de dos niveles y bueno funcionan a la perfeccion pero el problema es que tengo que insertar esos datos en mi base de datos pero no lo hace, entonces me sugirieron que detectara el error con 'else{echo 'error:'.mysqli_error($link);}' y efectivamente tengo un error pero el problema es que no se en donde lo tengo y necesito insertar estos campos. el error que me sale es:

Warning: mysqli_error() expects parameter 1 to be mysqli, resource given in C:\AppServ\www\SELECT_DEP_DOBLE\selectajax\index.p hp on line 69


Código PHP:
<?php
include 'conex.php';
include 
'conexion.php';
include 
'conexion_lic.php';
?>
<!DOCTYPE html>
<html>
<head>
<script src="ajax.js"></script>
<script src="ajax_lic.js"></script>
</head>
<body>
<h2>HTML - PHP - AJAX - MySQL</h2>
<FORM NAME="tipo_doc" METHOD="post">

<?php
$con
=conexion();
$res=mysql_query("select * from continente",$con);
?>
Continente: <select id="cont" name="codigo1" onchange="load(this.value)">
<option value="">Seleccione</option>
<?php
while($fila=mysql_fetch_array($res)){
?>
<option value="<?php echo $fila[codigo1]; ?>"><?php echo $fila[nombre]; ?></option>
<?php ?>
</select>
<div id="myDiv"> 
Pais: <select name="codigo">
<option value="">Seleccione </option></select>
</div>

<br>

<?php
$con
=conexion_lic();
$res=mysql_query("select * from licencias1",$con);
?>
Licencias: <select id="cont1" name="cod_lic" onchange="load1(this.value)">
<option value="">Seleccione</option>
<?php
while($fila=mysql_fetch_array($res)){
?>
<option value="<?php echo $fila[cod_lic]; ?>"><?php echo $fila[dtalle_lic]; ?></option>
<?php ?>
</select>
<div id="myDiv1">
Modalidad: <select name="cod_mod">
<option value="">Seleccione </option></select>
</div>

<input type="submit" name="enviar" value="Guardar"></input>
</FORM>
</body>

</html>

<? 
        
if($_POST["enviar"]!="")     
        { 
            echo 
$_POST["codigo1"]; echo "<br>"
            echo 
$_POST["codigo"];echo "<br>"
            echo 
$_POST["cod_lic"];echo "<br>"
            echo 
$_POST["cod_mod"]; 
            
$sql "insert into tabla (codigo1,codigo,cod_lic,cod_mod) values ('".$_REQUEST["codigo1"]."','".$_REQUEST["codigo"]."','".$_REQUEST["cod_lic"]."','".$_REQUEST["cod_mod"]."')"
           
$resultado mysql_query$sql$link ) ; 
           if( 
$resultado
                {echo 
"<script language='javascript'>alert('Registro Guardado');</script>";} 
           else{echo 
'error:'.mysqli_error($link);} 
        } 
?>
  #2 (permalink)  
Antiguo 27/12/2013, 04:46
Avatar de JuanPabloArrebillaga  
Fecha de Ingreso: diciembre-2013
Ubicación: Córdoba
Mensajes: 46
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Error de insersion de datos

Intenta usando este tipo de query:

Código PHP:
Ver original
  1. mysql_query('INSERT INTO tabla SET codigo1 = "'. $_REQUEST["codigo1"] .'".
  2.                                                           codigo = "'. $_REQUEST["codigo"] .'",
  3.                                                           cod_lic = "'. $_REQUEST["cod_lic"] .'",
  4.                                                           cod_mod = "'. $_REQUEST["cod_mod"] .'"');

y si ya no se inserta es por que están mal escritos los nombres de las columnas.
__________________
Medir el progreso de la programación por líneas de código es como medir el progreso en la construcción de aviones por el peso.
  #3 (permalink)  
Antiguo 27/12/2013, 05:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error de insersion de datos

Creo que el error es que estás metiendo la pata a lo grande...
Esto es lo que usas para insertar:
Código PHP:
Ver original
  1. $resultado = mysql_query( $sql, $link ) ;
y esto para verificar el error:
Código PHP:
Ver original
  1. else{echo 'error:'.mysqli_error($link);}

¿Notas la diferencia?

Si no lo notas, es que usas la librería MYSQL para insertar y la MYSQLI para verificar. Son librerías diferentes, algunas incluso no usan la misma cantidad de parámetros en muchas funciones con el mismo nombre (no es el caso).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 27/12/2013, 11:44
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Error de insersion de datos

Hola ya solucione el problema y me inserta. Dejo el codigo por si alguien se le llega a presentar el mismo problema que a mi:

Código PHP:
Ver original
  1. <?php
  2.   include ("conex.php");
  3.     if ($enviar){
  4.    $sql="insert into tabla (codigo1,codigo,cod_lic,cod_mod)values ('$codigo1','$codigo ','$cod_lic','$cod_mod')";    
  5.     if ($result=mysql_query ($sql,$link)){
  6. echo 'registro insertado';
  7.      }
  8. }
  9. ?>
  #5 (permalink)  
Antiguo 27/12/2013, 11:44
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Error de insersion de datos

Gracias a todos por responder.

Etiquetas: html, mysql, registro, select, sql, tabla
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 11:39.