Ciao a tutti,
Spero che qualcuno mi possa aiutare a risolve questo problema, che non mi consente di andare avanti.![]()
Quando tento di salvare nuovi dati inseriti in un precedente form mi appare:
Duplicate entry '00001' for key 1
Ho creato due tabelle di prova:
Tabella nome:
idpers
cognome
login
passd
tabella telefoni:
raccordo
idtel
num_tel
Script per richiamere le due query;
/ IMPOSTAZIONE DELLA QUERY
$stmt="select $ms_database.nome.idpers,
$ms_database.nome.cognome,
$ms_database.nome.login,
$ms_database.nome.passd
from $ms_database.nome
where $m $ms_database.nome.login='$login' and $ms_database.nome.passd=$passd;
";
$result = mysql_query($stmt);
$n_nome=0;
if ($result)
{
// Risultato OK
// leggo tutti i record e li memorizzo all'interno di specifici array
while (list($idpers,
$cognome,
$login,
$passd
)=mysql_fetch_row($result))
{
$A_idpers[]=$idpers;
$A_cognome[]=$cognome;
$A_login[]=$login;
$A_passd[]=$passd;
$n_nome++;
}
mysql_free_result($result);
}
else
{
// Se invece c'è stato un errore visualizzo la query che l'ha generato
print "ERRORE!
$stmt
";
}
print"numero di volte:$A_idpers[0] $A_cognome[0]";
// IMPOSTAZIONE DELLA QUERY
$stmt="select $ms_database.telefoni.raccordo,
$ms_database.telefoni.idtel,
$ms_database.telefoni.num_tel
from $ms_database.telefoni
left join $ms_database.nome on
$ms_database.nome.idpers=$ms_database.telefoni.rac cordo
where $ms_database.telefoni.raccordo='$A_idpers[0]'
";
$result = mysql_query($stmt);
$n_telef=0;
if ($result)
{
// Risultato OK
// leggo tutti i record e li memorizzo all'interno di specifici array
while (list($raccordo,
$idetl,
$num_tel
)=mysql_fetch_row($result))
{
$A_raccordo[]=$raccordo;
$A_idtel[]=$idtel;
$A_num_tel[]=$num_tel;
$n_telef++;
}
mysql_free_result($result);
$A_raccordo[]=$A_idpers[0];
}
else
{
// Se invece c'è stato un errore visualizzo la query che l'ha generato
print "ERRORE!
$stmt
";
}
$A_raccordo[]=$A_idpers[0];
Script per salvare i nuovi dati:
//IMPOSTAZIONE DELLA QUERY
$stmt="INSERT INTO $ms_database.telefoni (
telefoni.raccordo,
telefoni.idtel,
telefoni.num_tel
) VALUES (
'$raccordo',
'$idtel',
'$num_tel'
)";
$result = mysql_query($stmt);
if (!$result)
{
// Se invece c'è stato un errore visualizzo la query che l'ha generato
print "ERRORE!
".mysql_error()."
$stmt";
}
else
{
print" chiave esterna: $raccordo salvato correttamente";
print" chiave primaria: $idtel salvato correttamente";
print" nemuro di telefono: $num_tel salvato correttamente";
Spero qualcuno riesca a risolvere questo problema
Grazie