PHP 脚本不插入值,但仍然跳过自动递增

问题描述 投票:0回答:1

我尝试通过 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 值用完了。 database

到目前为止,我已经使用 chatGPT 在我的项目中进行故障排除,但这是它不知道答案的问题,但我已经包含了它可能是问题的原因,而且这些情况都不是真的:

ChatGPT reply

编辑:

Receipts Table

db_connect.php

更新:现在 MySQL workbench 向我显示了数据,但为什么是现在? MySQL Workbench SELECT * output

php mysql sql apache
1个回答
0
投票

问题是 MySQL Workbench 保存了缓存,并且仅在通过软件运行查询时更新缓存,而不是在 PHP 脚本插入数据时更新缓存。

我现在用

SELECT SQL_NO_CACHE * from receipts;
获取最新数据

© www.soinside.com 2019 - 2024. All rights reserved.