我有一个简单的 php 脚本,它是从 cli 运行的。我尝试了许多不同的 mysql 代码变体,但无论如何,尽管 php 说它已插入数据库,但该行并未插入数据库......
<?php
$link = mysql_connect('localhost', '***', '***');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('***');
mysql_query("INSERT INTO email_log (to, from, subject, headers, message, source) VALUES ('1','2','3','4','5','6')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>
php test.php 返回最后插入的记录的 id 为 0,并且相同的脚本可以通过 Web 浏览器完美运行。
我尝试过的事情:
- 我已将文件所有权更改为可能对其产生影响的用户。
- 4-5 个不同的 INSERT 代码
答案1
哇...多么不寻常...没有错误消息,但我做了更多的挖掘和故障排除来发现,“TO”,“FROM”和“SOURCE”行名在 MYSQL 限制/保留列表中。
答案2
做不是使用
mysql_*
PHP中的接口。 做改用mysqli_*
。(或者使用 PDO。)做获取错误信息并显示它。