SQL语法错误,找不到原因

时间:2013-08-03 07:44:57

标签: php mysql sql

谢谢你提前回答这个问题,这是我的代码的一部分,它不起作用。

 $sql_insert = "INSERT INTO 'users'
(
`ragionesociale`,
`user_name`, 
`user_email`, 
`pwd`, 
`nome`, 
`cognome`, 
`tel`, 
`tel2`, 
`website`, 
`date`, 
`users_ip`, 
`activation_code`, 
`piva`, 
`cf`, 
`azienda`) 

VALUES

(
'$data[ragionesociale]',
'$data[user_name]',
            '$user_email',
            '$sha1pass',
'$data[nome]',  
'$data[cognome]',
'$data[tel]',
'$data[tel2]',


'$data[website]' ,
now(),
'$user_ip',
'$activ_code',

$data[piva],$data[cf],
$data[azienda])";mysql_query($sql_insert)  or die("Insertion Failed:<br>$sql_insert<br>" . mysql_error());

这是给定的结果:

INSERT INTO 'users' ( 
   `ragionesociale`, 
   `user_name`, 
   `user_email`,
   `pwd`, 
   `nome`, 
   `cognome`,
   `tel`, 
   `tel2`, 
   `website`, 
   `date`, 
   `users_ip`, 
   `activation_code`, 
   `piva`,
   `cf`, 
   `azienda`
) 
VALUES ( 
   'La Fabbrica dei Giochi', 
   'uuuuuuu', 
   'sssss@gmail.com', 
   'e258c8aac30eba143e1f3sssss6dc1cdc4d58ff1095', 
   'pietro', 
   'rossi', 
   '234234234', 
   '345.4346865', 
   'www.ssss.it' ,
    now(), 
   '212.124.171.131', 
   '9962', 
    2323232,
    tsssss6i819s, 
    1     )

错误讯息:

You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near ''users' 
(`ragionesociale`, `user_name`, `user_email`, `pwd`, `nome`, `cogno' at line 1

我找不到这段代码的错误,我浪费了2个小时......

4 个答案:

答案 0 :(得分:2)

用反引号替换单引号:

$sql_insert = "INSERT INTO `users`

这应解决问题。

尽可能使用反引号。它可以帮助您防止保留关键字之间发生冲突(例如password)。

重要提示:您的查询当前表单容易受到SQL注入攻击。考虑使用mysql_real_escape_string()转义输入,甚至更好,切换到使用PDOmysqli

答案 1 :(得分:1)

这是一个SQL字符串文字:

'users'

这是一个表名:

users

这是(MySQL)引用的表名:

`users`

SQL标准需要"users",各种Microsoft数据库需要[users]

你不能插入一个字符串,你甚至无法想到它。您的SQL看起来应该更像这样:

$sql_insert = "INSERT INTO `users` ...

答案 2 :(得分:0)

尝试替换&#39;用户&#39;与

     `user` 

。 MySql不识别通常的

答案 3 :(得分:0)

我会将'用户'更改为users加上第二个最后一个字段$data[cf]传递字母数字(tsssss6i819s)但仅指定数字。将其更改为,'$data[cf]'。也许请查看字段aziendapiva