Ciao ragazzi,
ho creato un piccolo script per inserire una serie di dati all'interno di una tabella mysql a partire da qualche array dichiarato localmente. In sostanza funziona, però quando vado ad esaminare il contenuto della tabella mysql trovo che i record al suo interno sono stati duplicati e non riesco a capirne il motivo. L'inserimento dati nella tabella avviene tramite un ciclo for che si ripete per il corretto numero di volte (di questo sono sicuro). Ecco il codice:
Codice PHP:
<?php
$cognomi = array ("ORIANI ", "FILIPPI ", " visaggio", "visaggio");
$nomi = array ("MAURO", "diego", "daniele", "carlo");
$numeri_telefono = array ("237", "202", " 200", "300");
//controlla che gli elementi degli array $cognomi ed $numeri_telefono non siano stringhe vuote, dal momento che le relative righe nella tabella "rubrica" hanno l'attributo "not null". Utile anche per evitare che all'interno del database vengano memorizzati spazi vuoti, così da non sprecare memoria inutilmente;
for ($i = 0; $i < count ($cognomi); $i++)
{
$cognomi[$i] = trim($cognomi[$i], " ");
$numeri_telefono[$i] = trim($numeri_telefono[$i], " ");
}
//connessione a mysql e selezione del database;
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
{
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
}
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//inserimento dati nella tabella;
for ($i = 0; $i < count ($cognomi); $i++)
{
$query = "INSERT INTO $db_table (cognome, nome, numero_telefono) VALUES ('$cognomi[$i]', '$nomi[$i]', '$numeri_telefono[$i]')";
mysql_query($query, $db);
if (mysql_query($query, $db))
{
echo "Inserimento n.[$i] avvenuto correttamente";
}
else
{
echo "Errore durante l'inserimento n.[$i]";
}
}
//chiusura connessione a mysql alla fine dello script;
mysql_close($db);
?>
Quando eseguo lo script in output ricevo giustamente la scritta "Inserimento n. avvenuto correttamente" per quattro volte, eppure i record all'interno della tabella mysql sono 8 e non 4. La colonna ID (auto_increment) contiene valori da 1 a 8.
Qualcuno è in grado per favore di spiegarmi dove sbaglio?
Grazie