刚刚创建了一个将文件名保存到 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/