你有一个简单的表,一个简单的INSERT查询和一个非常奇怪的结果。第二个mysql_query
调用创建了2个空记录,而不是单个空查询。为什么呢?
mysql_query("
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
mysql_query("INSERT INTO `users` SET `users`.`id` = NULL");
注意:在phpMyAdmin中运行查询会得到预期的结果 - 创建一条记录。
编辑:
将以下mysql_query
调用添加到代码段的开头可以修复它。
mysql_query("DROP TABLE `users`");
编辑:
原来这个问题与mod_rewrite(related question)有关。
答案 0 :(得分:3)
据我所知,你运行这个脚本两次。
第一次脚本执行:
secont时间:
尝试添加此行以检查错误 - 'echo mysql_error()。“\ n”;'。例如 -
mysql_query("
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
echo mysql_error()."\n";
答案 1 :(得分:-1)
尝试使用INSERT INTO users (id) VALUES (NULL)