ciao a tutti,
ho ripreso un codice scritto anni fa, che all'epoca funzionava bene...
In pratica c'è una funzione che fa una insert in una tabella, ma realmente mi inserisce 3 record, di cui solo il primo è correttamente compilato, gli altri sono vuoti (eccetto l'id, che è auto increment).
Com'è possibile?
Credevo che fosse un qualche errore dovuto a php che ho in locale, ma l'ho provato altrove e da lo stesso difetto...
Inoltre, la funzione mysql_affected_rows mi restituisce 1 ed ho messo degli echo prima, dopo e durante l'esecuzione della funzione ed essi compaiono una volta sola, poiché pensavo che la funzione venisse rikiamata + volte...
cosa potrebbe essere?
Qui c'è il codice
Codice PHP:
function inserimento($id=false)
{
global $_DATABASE,$_MYNEWS;
$conn=mysql_connect($_DATABASE['host'],$_DATABASE['username'],$_DATABASE['password']);
mysql_select_db($_MYNEWS['dbname']);
if ($id ==false)
{
$query=mysql_query("INSERT INTO `".$_MYNEWS['table_suffix']."news` (`data`,`titolo`,`sottotitolo`,`testo`) VALUES('".$_POST['data']."','".addslashes($_POST['titolo'])."','".addslashes($_POST['sottotitolo'])."','".addslashes($_POST['content'])."')");
echo "Affected: ".mysql_affected_rows();
if ($query)
echo "MESSAGGIO INSERITO CORRETTAMENTE";
else
echo "ERRORE DURANTE L'INSERIMENTO DEL MESSAGGIO";
}
else
{
$query=mysql_query("UPDATE `".$_MYNEWS['table_suffix']."news` SET `titolo`='".addslashes($_POST['titolo'])."',`sottotitolo`='".addslashes($_POST['sottotitolo'])."',`testo`='".addslashes($_POST['content'])."' WHERE `id`=".$id);
if ($query)
echo "MESSAGGIO AGGIORNATO CORRETTAMENTE";
else
echo "ERRORE DURANTE L'AGGIORNAMENTO DEL MESSAGGIO";
}
mysql_close($conn);
}