我尝试通过 PHP 脚本进行插入,没有出现任何错误并且语法应该是完美的,但它仍然没有插入到我的数据库中。 我在 MySQL Workbench 中测试了相同的查询,它运行良好,但我也看到我的名为“receipt_id”的列(自动递增 INT)跳过了几个数字,它响应了我通过 PHP 完成的尝试次数脚本。
我的测试 PHP 脚本:
<?php
//echo errors
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//include db_connect.php
include("src/db_connect.php");
$sql = "INSERT INTO receipts (user_id, image_src) VALUES ('1', 'testtttt')";
$result = mysqli_query($mysqli, $sql);
//echo mysql error if there is one
if (!$result) {
printf("Error: %s\n", mysqli_error($mysqli));
exit();
}
?>
你可以在尝试PHP脚本后清楚地看到; receipt_id auto_increment 值用完了。
到目前为止,我已经使用 chatGPT 在我的项目中进行故障排除,但这是它不知道答案的问题,但我已经包含了它可能是问题的原因,而且这些情况都不是真的:
编辑:
问题是 MySQL Workbench 保存了缓存,并且仅在通过软件运行查询时更新缓存,而不是在 PHP 脚本插入数据时更新缓存。
我现在用
SELECT SQL_NO_CACHE * from receipts;
获取最新数据