Foros del Web » Programando para Internet » PHP »

Como Saber donde da el error

Estas en el tema de Como Saber donde da el error en el foro de PHP en Foros del Web. Hola a todos, Estoy haciendo un aplicacion en dreamweaver y tengo hecho la base de datos en mysql. Al guardar los dato me da el ...
  #1 (permalink)  
Antiguo 13/09/2007, 06:14
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Como Saber donde da el error

Hola a todos,

Estoy haciendo un aplicacion en dreamweaver y tengo hecho la base de datos en mysql. Al guardar los dato me da el siguiente error:

Cannot add or update a child row: a foreign key constraint fails.

E leido por ahi que es por la integridad referencial. Lo que quiero saber es si hay algun metodo para saber donde da el error.

gracias a todos

Saludos!!!!!!!!!
  #2 (permalink)  
Antiguo 13/09/2007, 06:19
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Como Saber donde da el error

hola, si, es por la integridad referencial, pero deberias mostrar la estructura de tus tablas y el codigo php con el que ingresas los datos, para poder ver donde esta el error

saludos
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 13/09/2007, 06:44
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Como Saber donde da el error

Hola rogertm,

No hay algun comado en mysql o algun sentencia en php para averiguar donde da el error? es que tengo 8 tablas generales con sus campos y algunos campos hacen referencia a otras tablas en total seran unas 25 tablas,

por eso pregunto si no hay alguna otra forma de ver donde esta el fallo.

Gracias y saludos!!!
  #4 (permalink)  
Antiguo 13/09/2007, 07:07
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Como Saber donde da el error

a ver, el error te lo esta dando, por eso te pido que pongas la estructura de al menos las tablas que tienes en este ejemplo, no pongas tooooooooooOoda tu base de datos, solo un ejemplo, tampoco toda la tabla, solo los campos que tienes relacionados, y si el codigo del INSERT, porque eso es lo que quieres verdad? hacer un INSERT.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #5 (permalink)  
Antiguo 14/09/2007, 00:57
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Como Saber donde da el error

Hola rogertm,

Aqui te dejo una de las tablas:

+------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+----------------+
| IdSustatzailea | int(10) unsigned | | PRI | NULL | auto_increment |
| InskripzioData | date | YES | | NULL | |
| Atzerritarra | char(1) | YES | | NULL | |
| Langabezian | char(1) | YES | | NULL | |
| Inskribatua | char(1) | YES | | NULL | |
| IdSusLanEgoera | int(10) unsigned | YES | MUL | NULL | |
| Kokalekua | varchar(30) | YES | | NULL | |
| Aholkularitza | char(1) | YES | | NULL | |
| Hitzaldia | char(1) | YES | | NULL | |
| IdSusHitzaldiak | int(10) unsigned | YES | MUL | NULL | |
| Ikastaroa | char(1) | YES | | NULL | |
| IdSusIkastaroak | int(10) unsigned | YES | MUL | NULL | |
| IdSusOnLine | int(10) unsigned | YES | MUL | NULL | |
| HezkuntzaEkintza | char(1) | YES | | NULL | |
| IdSusHezkuntza | int(10) unsigned | YES | MUL | NULL | |
| Oharrak | text | YES | | NULL | |
| NAN | varchar(9) | YES | MUL | NULL | |
+------------------+------------------+------+-----+---------+----------------+

Y este el insert:

Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO sustatzaileak (IdSustatzailea, InskripzioData, Atzerritarra, Langabezian, Inskribatua, IdSusLanEgoera, Kokalekua, Aholkularitza, Hitzaldia, IdSusHitzaldiak, Ikastaroa, IdSusIkastaroak, IdSusOnLine, HezkuntzaEkintza, IdSusHezkuntza, Oharrak, NAN) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['IdSustatzailea'], "int"),
                       
GetSQLValueString($_POST['InskripzioData'], "date"),
                       
GetSQLValueString($_POST['Atzerritarra'], "text"),
                       
GetSQLValueString($_POST['Langabezian'], "text"),
                       
GetSQLValueString($_POST['Inskribatua'], "text"),
                       
GetSQLValueString($_POST['IdSusLanEgoera'], "int"),
                       
GetSQLValueString($_POST['Kokalekua'], "text"),
                       
GetSQLValueString($_POST['Aholkularitza'], "text"),
                       
GetSQLValueString($_POST['Hitzaldia'], "text"),
                       
GetSQLValueString($_POST['IdSusHitzaldiak'], "int"),
                       
GetSQLValueString($_POST['Ikastaroa'], "text"),
                       
GetSQLValueString($_POST['IdSusIkastaroak'], "int"),
                       
GetSQLValueString($_POST['IdSusOnLine'], "int"),
                       
GetSQLValueString($_POST['HezkuntzaEkintza'], "text"),
                       
GetSQLValueString($_POST['IdSusHezkuntza'], "int"),
                       
GetSQLValueString($_POST['Oharrak'], "text"),
                       
GetSQLValueString($_POST['NAN'], "text"));

  
mysql_select_db($database_Datuak3$Datuak3);
  
$Result1 mysql_query($insertSQL$Datuak3) or die(mysql_error()); 


Luego tengo otro problemilla mejor dicho un problemon, no puedo inserta mas de un registro a la vez.

Hago un tabla en la aplicacion, como esta:

+------------------+------------------+------+-----+---------+----------------+
| IdPrestaArau | Titulua | AmaieraData | Zentroa |
+------------------+------------------+------+-----+---------+----------------+
| 1 | Autocad14 | 2006/04/06 | Cebanc
| 2 | Photoshop | 2007/06/12 | Antoniano


y aqui un boton de guardar:

El insert que hago es este:

Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  
$insertSQL sprintf("INSERT INTO gizarprestaarau (IdPrestaArau, Tituloa, AmaieraData, Zentroa, IdGizarteratzea) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['IdPrestaArau'], "int"),
                       
GetSQLValueString($_POST['Tituloa'], "text"),
                       
GetSQLValueString($_POST['AmaieraData'], "date"),
                       
GetSQLValueString($_POST['Zentroa'], "text"),
                       
GetSQLValueString($_POST['IdGizarteratzea'], "int"));

  
mysql_select_db($database_Datuak3$Datuak3);
  
$Result1 mysql_query($insertSQL$Datuak3) or die(mysql_error()); 
Lo que quiero es que cada vez que le de al boton me guarde los dos otre registros a la vez. Si pongo mas de un registro cuando hago la consulta no me guarda ni una.

Te agradeceria tu ayuda

Gracias por todo y saludos!!!!!!!!
  #6 (permalink)  
Antiguo 14/09/2007, 07:09
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Como Saber donde da el error

hola muchacho, jejeje, a ver, esos campos ID que tienes en tu tabla me imagino que sean campos ID primarios de otras tablas, verdad? ahora, para poder insertar datos en ese campo, en la tabla que muestras, tienes que en tu formulario de insercion de datos, recoger esos que son de otras tablas, para asi, cuando haces el insert, recojes los ID's de esos valores y los insertas en tu tabla :-p, , por fa, alguien me ayuda con este muchacho...!

mira, en mi blog tengo un ejemplo que te puede ayudar, es sobre un sistema de noticias, pero te puede servir para lo de la relacion de las tablas y ver como haces para insertar datos de una tabla en otra, miralo a ver.

saludosssssssssssssssssSs y si no te sale, sigue posteando, eso se resuelve

http://rogertm-blog.blogspot.com/200...-noticias.html



PD: para mostrar la estructura de tus tablas, si usas phpmyadmin, usas la opcion de exportar y te mostrara tu tabla en puro SQL, algo asi:

TABLA NOTICIAS
-----------------------------------------------------
CREATE TABLE noticias (
id int(11) NOT NULL auto_increment,
titular varchar(255) NOT NULL,
texto text NOT NULL,
imagen varchar(100) default NULL,
id_categoria int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;

de todas formas si usas otro programa debe ser mas o menos asi, lo digo por que casi se me jode la vista tratando de descifrar lo que me pones aqui arriba, tambien tengo mucho sueño que anoche me acoste muy tarde
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
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 18:39.