Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al insertar

Estas en el tema de Problema al insertar en el foro de PHP en Foros del Web. Buenas, tengo un problema, al insertar unos datos en una base de datos me da dos errores: Warning: Missing argument 17 for insertarPareja(), called in ...
  #1 (permalink)  
Antiguo 02/12/2013, 03:28
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 11 años, 1 mes
Puntos: 1
Problema al insertar

Buenas, tengo un problema, al insertar unos datos en una base de datos me da dos errores:

Warning: Missing argument 17 for insertarPareja(), called in C:\xampp\htdocs\Cria\insertarPareja.php on line 212 and defined in C:\xampp\htdocs\Cria\funciones.php on line 113


y este:
Notice: Undefined variable: denominacion_h in C:\xampp\htdocs\Cria\funciones.php on line 116



Esto viene de un formulario:
Código PHP:
Ver original
  1. if(insertarPareja($_SESSION['numero_anilla_m'],$_SESSION['numero_criador_m'],$_SESSION['año_m'], $_SESSION['sexo_m'], $_SESSION['imagen_m'], $_SESSION['grupo_m'], $_SESSION['seccion_m'], $_SESSION['denominacion_m'],$_SESSION['numero_anilla_h'],$_SESSION['numero_criador_h'],$_SESSION['año_h'], $_SESSION['sexo_h'], $_SESSION['imagen_h'], $_SESSION['grupo_h'], $_SESSION['seccion_h'], $_SESSION['denominacion_h'])){
  2.  
  3.        
  4.         echo 'Pareja insertado correctamente<br>';
  5.  
  6.    
  7.    
  8.     }else
  9.    
  10.     echo 'Error, pareja no insertado';

funciones.php
Código PHP:
Ver original
  1. function insertarPareja($numero_pareja,$numero_anilla_m,$numero_criador_m,$año_m,$sexo_m,$imagen_m,$grupo_m,$seccion_m,$denominacion_m,$numero_anilla_h,$numero_criador_h,$año_h,$sexo_h,$imagen_h,$grupo_h,$seccion_h,$denominacion_h){
  2.  
  3.     $enlace=conectar_bd(); //Se conecta a la base de datos.
  4.     $insertar = 'INSERT INTO pareja VALUES ("'.$numero_pareja.'","'.$numero_anilla_m.'","'.$numero_criador_m.'","'.$año_m.'","'.$sexo_m.'","'.$imagen_m.'","'.$grupo_m.'","'.$seccion_m.'","'.$denominacion_m.'","'.$numero_anilla_h.'","'.$numero_criador_h.'","'.$año_h.'","'.$sexo_h.'","'.$imagen_h.'","'.$grupo_h.'","'.$seccion_h.'",'.$denominacion_h.'")';
  5.     mysql_query($insertar,$enlace);
  6.     return true;
  7. }

Saludos
  #2 (permalink)  
Antiguo 02/12/2013, 08:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema al insertar

Es el eterno problema de no manejar correctamente los apóstrofos (') y comillas (").
ten den cuenta que cuando pones SQL dentro de PHP, el SQL le debe llegar al motor de bas de datos de modo que sea sintacticamente correcto... para la base de datos, no para PHP. Los DBMS no entienden ni "hablan" PHP.
En el caso de MySQL, normalmente las comillas (") están configuradas para encerrar nombres de objetos de base como tablas, columnas, etc., al igual que los acentos graves (`). ;Si los pones así es muy probable que disparen errores.
Toda cadena de texto debe quedar encerradas entre apóstrofos ('), no entre comillas. Por ende, debes poner todo al revés, además de tener en cuenta que la sentencia entera debe quedar entre comillas en el PHP, con lo que si te fijas, estás entremezclando todo:
Código PHP:
$insertar "INSERT INTO pareja ";
$insertar .= "VALUES ('".$numero_pareja."', '".$numero_anilla_m."', '".$numero_criador_m."', ";
$insertar .= "'".$año_m."', '".$sexo_m."', '".$imagen_m."', '".$grupo_m."', '".$seccion_m."', ";
$insertar .= "'".$denominacion_m."', '".$numero_anilla_h."', '".$numero_criador_h."', '".$año_h."', ";
$insertar .= "'".$sexo_h."', '".$imagen_h."', '".$grupo_h."', '".$seccion_h."', '".$denominacion_h."')"
Te lo pongo así para que se vean mejor los campos que se van a gregando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/12/2013 a las 03:08
  #3 (permalink)  
Antiguo 03/12/2013, 01:23
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 11 años, 1 mes
Puntos: 1
Respuesta: Problema al insertar

Muchas gracias por responder

Saludos y gracias

Etiquetas: formulario, mysql, variable
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 22:27.