对我来说有一个旧的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());
在运行查询
之后只保存了两行我想知道如何解决这个问题!?!
答案 0 :(得分: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会尝试插入所有内容。
或者,如果要将数据插入每个列,则首先不需要列名。
答案 1 :(得分:2)
将插入VALUES
之后括号中的任何内容。您有两个()
个要插入的项目列表,用逗号分隔,因此插入了两行。
MySQL中INSERT
语句的syntax是
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());