php - 自动增量不会更新

标签 php mysql sql

刚刚创建了一个将文件名保存到 SQL 数据库中的表单。

问题是,当我将 ID 列(自动递增)添加到 SQLDatabase 时,表单会停止保存我的文件名,但一旦我删除 ID 行,它就会开始保存。

不知道是什么问题。

这是我的一些代码

 <?php  



     if(isset($_FILES['file_name'])) {
     $file_name = mysql_real_escape_string($_FILES['file_name']['name']); 
      //Writes the information to the database 

     mysql_query("INSERT INTO `files` VALUES ('$file_name')") ; 
      }

     //Retrieves data from MySQL 
     $data = mysql_query("SELECT * FROM files") or die(mysql_error()); 
     //Puts it into an array 

     ?> 

我的数据库有两列 file_id 和 file_name 但正如我刚才所写,file_id 不会工作 =/

有什么想法吗?

最佳答案

我认为您需要将 SQL 查询更改为:

mysql_query("INSERT INTO `files` (`file_name`) VALUES ('$file_name')") ; 

对于不止一列,如果您不打算枚举表中的每一列,则需要命名要将 $file_name 字符串保存在哪一列。那么您的自动增量应该可以正常工作。

事实上,问题不在于自动递增,而在于你的 SQL 语法。您应该通过保存 mysql_query 的返回值并检查它是否返回 false 来检查您的查询是否有错误。如果是,则调用 mysql_error 以确定错误消息。

关于php - 自动增量不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10567371/

相关文章:

php - 如何在德语元音变音 [äöü] 上 preg_match_all?

php - SELECT DISTINCT 还是单独的规范化表?

php - fatal error :未捕获的异常 'Exception',消息为“DateTime::

php - 如何使用SQl语法从MySQL表中的组中选择最新记录

mysql - 允许优化和修复的最低 mysql 用户权限是多少

mysql - 分组依据以查找 SQL 中特定索引的平均差异

mysql - 在 SQL 列中查找最常见的值

php - PDO : fetchAll() with duplicate column name on JOIN

php - 如何使用 PHP 和 jQuery 创建文件上传进度条?

php - 如何将数组(不同)插入到 mySQL 中?