PDA

View Full Version : [PHP] Insert In Database Mysql


bobby1112
14-06-2009, 23:13
salve ragazzi dovrei effettuare un insert in un database mysql che ho in locale sulla mia macchina ma non va cioè non mi inserisce niente ecco il codice:
<?
// parametri del database
$db_host = "localhost";
$db_user = "root";
$db_password ="my_password";
$db_name = "my_senzacontrollo11";
$db = mysql_connect($db_host,$db_user,$db_password);
mysql_select_db("my_senzacontrollo11",$db);
$sql="INSERT INTO utente(user,password)values('amore','mio')";
$ri = mysql_db_query($db_name,$sql,$db);
if (!$ri) {

echo “Errore”;

}
?>
mi date un 'aiuto.Grazie a tutti

The Lord of Diplomacy
14-06-2009, 23:27
Attenzione alle "" (virgolette). Ridai un'occhiata alla sintassi.

john_revelator
14-06-2009, 23:27
Ti consiglierei come prima cosa di abbandonare la funzione mysql_db_query() che è deprecata e di utilizzare semplicemente mysql_query.

In secondo luogo, almeno in fase di debug, è bene aggiungere la segnalazione d'errore alle query.


$sql=mysql_query("INSERT INTO utente(user,password)values('amore','mio')" or die(mysql_error());

Infine la query è sintatticamente corretta ma il problema è dovuto al fatto che password se non ricordo male è una parola riservata. Quindi o rinomini il campo (scelta consigliabile), oppure racchiudi il nome del campo tra backtick (`) con alt +96.

$sql=mysql_query("INSERT INTO utente(user,`password`)values('amore','mio')" or die(mysql_error());

bobby1112
15-06-2009, 07:26
ok grazie dopo ci provo e ti faccio sapere ciao.

bobby1112
16-06-2009, 23:17
allora quando viene eseguito vi da questo errore:
Duplicate entry 'amore' for key 1
ho dato un'occhiata su qualche forum e parlano di attivare auto_increment ma non ho capito bene :muro:

ndakota
17-06-2009, 10:06
non è un problema di codice.. semplicemente stai inserendo in quella tabella un record con una chiave primaria che è già presente in un altro record e questo non è possibile..