Aiuto con istruzione INSERT

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
Ciao a tutti, ho già cercato nel forum e su internet ma non riesco a trovare la soluzione al mio problema.
Non riesco ad inserire i dati in una tabella tramite form con variabili $_POST.


PHP:
<form action="index.php?sezione=privata" method="post">
<fieldset>
<legend>Registrazione:</legend>
<label for="nomecognome">Nome e Cognome:</label><br />
<input id="nomecognome" name="nomecognome" type="text" /><br />
<label for="Email">E-Mail:</label><br />
<input id="email" name="email" type="text" /><br />
<label for="Username">Nome Utente:</label><br />
<input id="username" name="username" type="text" /><br />
<label for="Password">Password:</label><br />
<input id="password" name="password" /><br />
<input name="registrazione" type="submit" value="Submit" />
</form>
</fieldset>

<?php  


    
   
    

    
    //controllo sui dati inviati

    if ($_POST['registrazione'] == "Submit")  {
	
	
	$namesurname = trim(filter_var($_POST['nomecognome'], FILTER_SANITIZE_STRING));
	$email= trim(filter_var($_POST['email'], FILTER_SANITIZE_EMAIL));
	$username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
	$password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));

	
	//connessione al database

	define ("MYSQLUSER", "user");
	define ("MYSQLPASS", "password");
	define ("HOSTNAME", "localhost");
	define ("MYSQLDB", "database");
	
	
	//controllo di connessione con database
	
	/*if ($result = $connection->query("SHOW TABLES")) {
	 $count = $result->num_rows;
	 echo "Tables:   ($count)<br />";
	 while ($row = $result->fetch_array()) {
	 echo $row[0]. '<br />';
	 }
	 }*/
	
	
	
	
	
	$connection = new mysqli(HOSTNAME,MYSQLUSER,MYSQLPASS,MYSQLDB);
	if ($connection->connect_error)  {
		die('Errore di connessione: '. $connection->connect_error);
	} else {
		echo 'Connessione riuscita <br />';
		
		//preparaazione query
		$query = "INSERT INTO `utenti` (id_utente, nome, email, username, password) VALUES (NULL, `$namesurname`, `$email`, `$username`, `$password`);";
	
		
		//lancio la query con i messaggi
		if (!$result = $connection->query($query))  {
			echo "Impossibile aggiungere i record <br />";
			var_dump($query);
		}  else {
			echo "Records aggiunti correttamente <br />";
			var_dump($query);
		}
		
		
	}
	
    }
	
?>


Ho fatto tutte le prove possibili (che conosco) e l'unica cosa che mi risulta è che non funzioni il comando INSERT INTO. Se tento di fare INSERT tramite phpmyadmin tutto funziona, da form html no. HELP!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, quale dei due echo ti stampa ?
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
scusa Criric se mi intrometto, forse un problema di apici non idonei
PHP:
$query = "INSERT INTO utenti (id_utente, nome, email, username, password) VALUES (NULL, '$namesurname', '$email', '$username', '$password')";
quelli usati servono per nomi di oggetti database con spazi intermedi, caso che non ricorre
ma forse sbaglio
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova a stampare gli errori sql
PHP:
if (!$result = $connection->query($query))  {
            echo "Impossibile aggiungere i record <br />";
            echo "errore sql : " . $connection->error;
        }
 

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
prova a stampare gli errori sql
PHP:
if (!$result = $connection->query($query))  {
            echo "Impossibile aggiungere i record <br />";
            echo "errore sql : " . $connection->error;
        }




Ho stampato gli errori, riporto l'intero codice per comodità:

PHP:
$connection = new mysqli(HOSTNAME,MYSQLUSER,MYSQLPASS,MYSQLDB);
	if ($connection->connect_error)  {
		die('Errore di connessione: '. $connection->connect_error);
	} else {
		echo 'Connessione riuscita <br />';
		
		//preparaazione query
		$query = "INSERT INTO `utenti` ( `nome`, `email`, `username`, `password`) VALUES (`$namesurname`, `$email`, `$username`, `$password`);";
	
		
		//lancio la query con i messaggi
		if (!$result = $connection->query($query))  {
			echo "Impossibile aggiungere i record <br />";
			echo "errore sql : " . $connection->error;
			var_dump($query);
		}  else {
			echo "Records aggiunti correttamente <br />";
			var_dump($query);
		}
		
		
	}

Ecco il risultato.

Codice:
Connessione riuscita 
Impossibile aggiungere i record 
errore sql : Unknown column 'Paolo' in 'field list'string(120) "INSERT INTO `utenti` ( `nome`, `email`, `username`, `password`) VALUES (`Paolo`, `[email protected]`, `paolino`, `12345`);"
 

Marco_88

Utente Attivo
4 Dic 2014
150
0
0
Roma
batwebit.blogspot.it
Allora ragazzi ho risolto, voleva semplicemente le variabili racchiuse in apici NORMALI e non backtick o escape, come segue:

PHP:
	$connection = new mysqli(HOSTNAME,MYSQLUSER,MYSQLPASS,MYSQLDB);
	if ($connection->connect_error)  {
		die('Errore di connessione: '. $connection->connect_error);
	} else {
		echo 'Connessione riuscita <br />';
		
		//preparaazione query
		
		$query = "INSERT INTO `utenti` ( nome, email, username, password) VALUES ('$namesurname', '$email', '$username', '$password');";
	
	
		//lancio la query con i messaggi
		if (!$result = $connection->query($query))  {
			echo "Impossibile aggiungere i record <br />";
			echo "errore sql : " . $connection->error;
			/*var_dump($query);*/
		}  else {
			echo "Records aggiunti correttamente <br />";
			/*var_dump($query);*/
		}
		
		
	}
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Aiuto con DataGridView Visual Basic 1
K Aiuto con file audio in html HTML e CSS 1
R Aiuto con le query MS Access 2
G Aiuto con htaccess e rewriterule PHP 0
M Aiuto con inserimento immagini WordPress 6
G Aiuto HTML, collegamento con un bottone a una <div> di un' altra pagna HTML e CSS 5
motleyrulez Aiuto con un ciclo PHP 0
maicol07 Python - Tkinter - Aiuto con pulsanti e tuple Programmazione 0
L [Javascript] aiuto non riesco a inviare in get dal server web locale su altervista con httpRequest Javascript 0
N Mi serve aiuto con "Snake". C/C++ 1
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
M Aiuto: problema con il mio TP-Link range extender Reti LAN e Wireless 0
L [HTML] Aiuto con immagini random HTML e CSS 1
S PHP: Aiuto con upload immagini che si auto tuotano PHP 24
A scambio lavoro per aiuto con android Sviluppo app per Android 0
I Form/aree di testo con input da lista di nomi!Chiedo aiuto!! HTML e CSS 3
M Aiuto con script di ricerca video youtube data api v3 Javascript 1
I attributo con IF aiuto PHP 3
ecosito Aiuto con la traduzione in italiano per capire come installare questo JavaScript jQuery 0
F Aiuto: impossibile la mappatura di un'immagine con Dreamweaver CC2015 HTML e CSS 8
D aiuto con query PHP 1
J Aiuto per localstorage con jquery/js/json Javascript 4
M Aiuto su come procedere con un ciclo foreach PHP 4
R Redirect 301 con htaccess non funziona. Aiuto! PHP 1
I database con visual studio 2012 aiuto Database 0
L Aiuto con l'html di una pagina web HTML e CSS 0
V Aiuto con swipe e DB Sviluppo app per Android 2
N Aiuto con html nascondere i media HTML e CSS 4
T Aiuto con script PHP PHP 0
N ciao a tutti ho bisogno di aiuto con l'estensione mysqli?? MySQL 0
I Aiuto uso Nivo Slider con javascript jQuery 2
L problema con la funzione header!!! AIUTO! PHP 24
S Aiuto con PHP! PHP 4
D Aiuto Ajax da PHP con codifica json Ajax 0
K AIUTO con Apache WEBDAV E MOD_DAV Joomla 0
S aiuto con le query PHP 0
D aiuto con pag di login in php PHP 1
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
S aiuto con query MySQL 10
P Aiuto con onclick Javascript 2
W Aiuto per menù fatto con immagini e relativo sottomenù HTML e CSS 2
D Chiedo aiuto con questo codice PHP 0
L Sito con mamp AIUTO PHP 12
M Aiuto con questo script PHP 21
D Aiuto con Ajax e pagine incluse nei DIV Ajax 1
L verifica mail in db con jquery e ajax. Aiuto jQuery 9
P Aiuto con Prestashop CMS (Content Management System) 3
Z Aiuto con l'input PHP 0
P Aiuto con query "SELECT" PHP 6
I Spostare codice js inline in una funzione js con l'aiuto del dom Javascript 1

Discussioni simili