Hola, quisiera saber si el hecho de tener una tabla en mysql con 1 PK formada por los 4 campos de la tabla, tal que así:
pactor_id PK smallint(4) unsigned - a su vez FK
diag_date PK date
sip PK varchar(8)
dis_name PK varchar(60) - estas tres ultimas son FK, las 3 juntas
puede afectar al modo que inserta PHP los campos en la tabla MySQL??? Es que en mi codigo php del formulario, inserta sin problemas los datos de otras tablas excepto las que estan compuestas por una PK formada por todos los campos de la tabla (ya que son relaciones n:n). En el caso de estas tablas, no devuelve ningun error pero los datos no estan insertados en MySQL. Todos estos campos ya se encuentran insertados en sus respectivas tablas, por lo que el problema de que no se creasen las relaciones lo descarto
El código php sería el siguiente (el mismo para las 4 tablas n:n cambiando los campos):
if ($pactor_id AND $diag_date AND $sip AND $dis_name) {
$sql_selra = "SELECT pactor_id,diag_date,sip,dis_name FROM relation_a WHERE pactor_id='$pactor_id' AND diag_date='$diag_date' AND sip='$sip' AND dis_name='$dis_name'";
if (! $result_ra = mysql_query($sql_selra, $conn)) {
stderr ("Error querying: $sql_selra");
}
$rows = mysql_num_rows($result_ra);
if ($rows==0) {
$sql_rela = "INSERT INTO relation_a (pactor_id, diag_date, sip, dis_name)
VALUES ('$pactor_id', '$diag_date', '$sip', '$dis_name')";
if (! $query = mysql_query($sql_rela, $conn)) {
stderr ("Error querying: $sql_rela");
}
if ($sql_rela) { echo("SQL REL A: $sql_rela");} //borrar (prueba para ver errores)
}
else {
stderr ("Relation a is already in the database");
}
}
else {
print "<br><font style='color: black'>";
printf ("Missing Information, cannot insert Relation a\n");
print "</font></br>";
}
Agradecería su ayuda. Muchas gracias.