- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Inserimento dati in db mysql da PHP
-
Inserimento dati in db mysql da PHP
Salve a tutti,
il mio grande problema è quello di inserire dei dati ricavati da un form e scriverli in una tabella (clienti) in un db mysql(innodb,colletion ascii_bin)- Primo problema se le variabili sono vuote mi da errore: mica devo controllare quali variabili esistono e poi creare la query di conseguenza? assurdo!
- POi Non mi accetta la @ (chiocciola) - per trasformarla come devo fare? Per i caratteri speciali stavo facendo una sorta di trasformatore in JS, ma non ho ancora testato se funziona!
al massimo ditemi se è giusto!
Di seguito il codice
[php]
<?php
//creazione insert
$insert=sprintf"INSERT INTO cliente
SET COGNOME=".$_SESSION['cognome'].",
NOME=".addslashes($_SESSION['nome']).",
TEL=".addslashes($_SESSION['tel']).",
TEL_UFF=".addslashes($_SESSION['teluff']).",
TEL_CELL=".addslashes($_SESSION['telcel']).",
TEL_ALTRO=".addslashes($_SESSION['telaltro']).",
FAX=".addslashes($_SESSION['fax']).",
MAIL1=".addslashes($_SESSION['mail1']).",
MAIL2=".addslashes($_SESSION['mail2']).",
NOTE=".addslashes($_SESSION['note']).",
DATA_INS=".addslashes($_SESSION['data_ins']).";";//cambia caratteri speciali
echo'<script type="text/javascript">change_char($insert);</script>';//inserimento in db
$conn=mysql_connect($host,$login,$passwd) or die("connessione non riuscita");
mysql_select_db($dbconn,$conn)or die("Connesione DB non riuscuta: ".mysql_error());$ris=mysql_query($insert) or die("Query non riuscuta: ".mysql_error()) ;
if(mysql_affected_rows($conn) > 0)
echo'<script type="text/javascript">alert("Dati inseriti corretamente");</script>';
else
echo'<script type="text/javascript">alert("Errore durante l'inserimento.n Se l'errore persiste contattatare l'amministratore");</script>';
mysql_close($conn);
?>
[/php]Lo script JS è di seguito mostrato (in tuta franchezza non riesco ancora a testaro in quanto il cod-php mi da errore sulla query[php]
function change_char(stringa)
{
stringa = stringa.replace(" "/g, " ");
stringa = stringa.replace("""/g, """);
stringa = stringa.replace("'"/g, "&");
stringa = stringa.replace("&"/g, "&");
stringa = stringa.replace("<"/g, "<");
stringa = stringa.replace(">"/g, ">");
stringa = stringa.replace("?"/g, "€");
stringa = stringa.replace("..."/g, "…");
stringa = stringa.replace("à"/g, "à");
stringa = stringa.replace("@"/g, "@");
}
[/php]
-
Non è la sintassi corretta dell'INSERT..
INSERT INTO tabella (campo1,campo2) VALUES ($var1,$var2)
-
se ti può essere d'aiuto io ho utilizzato e adattato questo script
http://www.giorgiotave.it/forum/php-mysql/38620-errore-form.html
funziona magnificamente solo che ora non riesco ad implementarlo correttamente