0

我网站上的用户可以选择上传几个不同的文件。代码上传文件并将指向该文件的链接保存在 mySQL 数据库中。

如果用户没有选择要上传的文件,我正在尝试在我的 sql 数据库中插入一个空值。

下面的代码只是输入一个空值,无论是否选择了要上传的文件......请帮助。(位置变量在代码中较早建立并且工作正常)

这是我的代码:

if (is_null($_POST['imgfile'])) {
$imglink = NULL;
} else {
$imglink = mysql_real_escape_string($imglocation);
}
if (is_null($_POST['vidfile'])) {
$vidlink = NULL;
} else {
$vidlink = mysql_real_escape_string($vidlocation);
}

$sql="INSERT INTO db (imgfile, vidfile)
VALUES(
'$imglink',
'$vidlink')";

正确代码:

if (empty($_FILES['imgfile']['name'])) {
$imglink = '';
} else {
$imglink = mysql_real_escape_string($imglocation);
}
if (empty($_FILES['vidfile']['name'])) {
$vidlink = '';
} else {
$vidlink = mysql_real_escape_string($vidlocation);
}
4

1 回答 1

0
  1. 您确定用户选择的文件在$_POST中可用- 而不是在$_FILES中?

  2. 您可以只允许 NULL 并将它们设置为存储图像和视频文件链接的表的 db 字段(使用DEFAULT NULL子句)中的默认值 - 因此在没有这些值的表中插入新记录,会自动将它们设置为 NULL。

于 2013-02-14T22:55:13.967 回答