PDA

Visualizza la versione completa : Insert into con passaggio di valori


andre82
16-10-2004, 14:21
Devo inserire una riga in un database e l'ho strutturata come segue:

$sql_registra_dati = "INSERT INTO `tabella` (`campo`) VALUES ("\$valorecampo\")";

$stat = $database->prepare($sql_registra_dati);
$return = $stat->execute;

Lo script non mi da nessun errore ma nemmeno inserisce i dati, se invece metto una stringa qualsiasi come segue funziona

$sql_registra_dati = "INSERT INTO `tabella` (`campo`) VALUES ('strringa')";

shishii
16-10-2004, 15:20
devi usare:

$sql_registra_dati = "INSERT INTO `tabella` ('campo') VALUES ('$valorecampo')";

e poi... come fai a sapere che non ci sono errori?

per saperlo devi aggiungere:

$stat->execute || die "Errore nella query $sql_registra_dati: $DBI::errstr\n";

andre82
16-10-2004, 18:11
Grazie funziona!!!

LordSaga640
16-10-2004, 23:38
Originariamente inviato da andre82
Devo inserire una riga in un database e l'ho strutturata come segue:

$sql_registra_dati = "INSERT INTO `tabella` (`campo`) VALUES ("\$valorecampo\")";

$stat = $database->prepare($sql_registra_dati);
$return = $stat->execute;

Lo script non mi da nessun errore ma nemmeno inserisce i dati, se invece metto una stringa qualsiasi come segue funziona

$sql_registra_dati = "INSERT INTO `tabella` (`campo`) VALUES ('strringa')";
I parametri generalmente si passando in questo modo:



$sql_registra_dati = "INSERT INTO `tabella` (`campo`) VALUES (?);";

$stat = $database->prepare($sql_registra_dati);
$return = $stat->execute($valorecampo);


Fa automaticamente l'escape dei caratteri speciali della stringa.
Ovviamente solo un consiglio.
ciao

Loading