- Home
- Categorie
- Coding e Sistemistica
- PHP
- [PHP] Errore nella query
-
[PHP] Errore nella query
Qualcuno mi sa dire cosa cavolo sbaglio?
Mi riporta il seguente errore:
Errore nella queryYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mod,admin) VALUES ('Giovanni','Pili','sytry82','[email protected]','123456'' at line 1[PHP]
<?php
if(!isset($_POST['submit'])){
echo('
<form method="post" action="#">
<table width="600px;">
<tr>
<td>Nome</td>
<td>Cognome</td>
<td>Nickname</td>
<td>eMail</td>
<td>Password</td>
</tr>
<tr>
<td><input type="text" name="nome"/></td>
<td><input type="text" name="cognome"/></td>
<td><input type="text" name="nickname"/></td>
<td><input type="text" name="email"/></td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td colspan="5"><input type="submit" name="submit"/></td>
</tr>
</table>
</form>
');
}else{
include('blog/config.php');$nome=mysql_real_escape_string($_POST['nome']); $cognome=mysql_real_escape_string($_POST['cognome']); $nickname=mysql_real_escape_string($_POST['nickname']); $email=mysql_real_escape_string($_POST['email']); $password=mysql_real_escape_string($_POST['password']); $mod=mysql_real_escape_string('no'); $admin=mysql_real_escape_string('ok'); $query="INSERT INTO utenti (nome,cognome,nikname,email,password,mod,admin) VALUES ('{$nome}','{$cognome}','{$nickname}','{$email}','{$password}','{$mod}','{$admin}')"; $result=@mysql_query($query, $conn->conn); if(!$result) { die ("Errore nella query".mysql_error()); }else { header("Location:login_utente.php"); }
}
?>
[/PHP]Vi linko direttamente lo screenshot della tabella "utente":
hardwarepsiche.altervista.org/tabella2.pngProprio non mi capacito...
-
Ciao Giovanni Pili,
mod mi sembra sia una parola riservata, invece di mod mettimod
e vedi se funziona.
Attenzione al tipo di apice che è ` da non confondere con ' che è un'altra cosa.
-
@Thedarkita said:
Ciao Giovanni Pili,
mod mi sembra sia una parola riservata, invece di mod mettimod
e vedi se funziona.
Attenzione al tipo di apice che è ` da non confondere con ' che è un'altra cosa.Provo e ti faccio sapere.
Grazie! adesso è tutto a posto.
-
Thedarkita , sono un "apprendista "
, quindi perdona la mia domanda banale ... ma cosa intendi per "mod è una parola riservata , prova 'mod' ...
-
Alcune parole che trovi qui sono parole riservate e sarebbe meglio evitare di utilizzarle come nome dei campi:
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.htmlNel caso in cui si utilizzi una di essa usando quel tipo di apici MySQL capisce che ci stiamo riferendo ad un campo/tabella e non ad una funzione.
-
Io uso sempre parole italiane così non corro il rischio di incappare in un termine riservato.