0

我似乎无法将所有这些变量发布到我的数据库中。当我省略$_POST. $file_desc所有$_FILE变量都传递到我的数据库。这是获取变量的代码:

$file_name = $_FILES['image']['name'];
$tmp = explode('.', $file_name);
$file_ext = strtolower(end($tmp));
$file_size = $_FILES['image']['size'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_error = $_FILES['image']['error'];
$file_desc = nl2br($_POST['desc']);

这是运行查询的代码:

$query = $pdo->prepare('INSERT INTO upload (name, type, size, desc) VALUES (?, ?, ?, ?)');
$query->bindValue(1, $file_name);
$query->bindValue(2, $file_ext);
$query->bindValue(3, $file_size);
$query->bindValue(4, $file_desc);

$query->execute();
4

1 回答 1

1

DESC是 MySQL 关键字,用于对选定的行进行降序排序。在您的情况下,MySQL 认为它是关键字而不是字段名称。为了让它理解它是一个字段 - 你应该把它放在撇号中:

$query = $pdo->prepare('INSERT INTO upload (name, type, size, `desc`) VALUES (?, ?, ?, ?)');

另外,我建议您学习调试并注意返回的错误:我敢打赌 MySQL 告诉过您“第 1 行 desc 附近的语法错误”。

于 2013-05-14T20:15:32.327 回答