2010-12-08 82 views
0

有我的一个旧版本的MySQL的问题,我想不出解决和节省一些MySQL表问题,保存在MySQL表重复行

这是我的表结构重复空行: 当我尝试查询像这样的:

$db->sql_query("INSERT INTO `table_donate` values (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`) , (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason')" 
) or die(mysql_error()); 

只是两行保存上面的查询

运行后,我不知道如何解决这个问题!?!

回答

3

这就是你正在尝试做的:

INSERT INTO `table_donate` (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`) 
values (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason') 

你需要把表列中,values符号前。之后Mysql会尝试插入所有内容。

或者,如果您要将数据插入到每列中,则首先不需要列名称。

+0

哦,这样一个愚蠢的错误:d感谢您完美的答案 – 2010-12-08 06:52:28

2

插入VALUES之后的任何括号。您有两个()要插入的项目列表,用逗号分隔,因此插入了两行。

syntax在一个MySQL的INSERT声明

INSERT INTO table (col1, col2, ...) VALUES (val1, val2, ...) 

相反,你现在有什么的,尽量

$db->sql_query("INSERT INTO `table_donate` (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`) values (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason')") or die(mysql_error());