Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在插入MySQL数据库时忽略空字段?_Php_Mysql_Ignore - Fatal编程技术网

Php 如何在插入MySQL数据库时忽略空字段?

Php 如何在插入MySQL数据库时忽略空字段?,php,mysql,ignore,Php,Mysql,Ignore,我正在创建一个非常基本的管理页面来控制另一个页面上的内容 我在管理页面上有几个字段,其中一个是文件上传字段。提交表单时,文件将上载到文件夹,文件名将放入数据库 问题是,当有人转到管理页面更新内容时,他们没有上传文件,文件名值就会从数据库中删除 有没有一种方法可以执行MySQL查询或其他忽略空值的操作 $headerimage=($_FILES['headerimage']['name']); $cktest = $_POST['editor1']; $LikeText = $_POST['ed

我正在创建一个非常基本的管理页面来控制另一个页面上的内容

我在管理页面上有几个字段,其中一个是文件上传字段。提交表单时,文件将上载到文件夹,文件名将放入数据库

问题是,当有人转到管理页面更新内容时,他们没有上传文件,文件名值就会从数据库中删除

有没有一种方法可以执行MySQL查询或其他忽略空值的操作

$headerimage=($_FILES['headerimage']['name']); 
$cktest = $_POST['editor1'];
$LikeText = $_POST['editor2'];

$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";

听起来你需要给你的应用程序添加一些逻辑。大多数情况下,您请求的内容可以通过向表单中添加“删除”复选框来完成,因此,如果用户单击“删除”复选框,它将删除该行,如果用户没有,则与文件相关的内容将不会发生

您应该从显示查询开始。我猜您没有正确编写更新查询

$file = "";
if(isset($_FILES['file']['tmp_name']))
{
    //handle images here
    $file = "`file` = 'some_filename.txt', ";
}
$sql = "UPDATE `table` SET $file `field` = '".mysql_real_escape_string($some_value)."' WHERE `id` = '".mysql_real_escape_string($some_id)."'";
基于条件将查询构建为字符串的基本思想。这对我来说总是有用的。

你可以用这个

比如说

if($headerimage != "")
{
$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";
}else{

$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText' WHERE pageID = '$page_id'";
}

您应该在代码中执行此操作,而不是在查询中。您正在筛选用户输入,是吗?您的“保存”代码是什么样子的?您应该检查用户输入并仅在输入有效时保存。