我试图在页面加载时将一些数据插入到我的数据库中。
我目前拥有的:
$servername = "localhost";
$username = "xxx";
$password = "xxx";
$link = @mysql_connect($servername, $username, $password);
mysql_select_db("download_time", $link);
$sql = "INSERT INTO timestamp (id, time) VALUES ('1', 'testing');";
mysql_query($sql, $link);
mysql_close($link);
脚本运行得很好并且在任何地方都没有返回任何错误,我已经三次检查了连接,这也很好。通过 webmin 运行 INSERT INTO timestamp (id, time) VALUES ('1', 'testing');
我能够很好地插入数据。
数据库结构:
CREATE TABLE `timestamp` (
`id` int(10) NOT NULL DEFAULT '1',
`time` varchar(246) DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
最佳答案
我发现一些错误:
1) 您正在使用 mysql_* API
2)您在架构创建中设置主键,但指定了默认值“1”,这是错误的,主键没有默认值,因为它们是自动递增的,您不能拥有两个相同的主键。
将架构创建更改为:
CREATE TABLE `timestamp` (
`id` int(10) AUTO_INCREMENT PRIMARY KEY,
`time` varchar(246) DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
以及对此的查询
$sql = "INSERT INTO timestamp (id, time) VALUES (null, 'testing');";
关于PHP、MySQL 查询已执行但表未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799900/