[英]How to ignore empty fields when inserting into MySQL database?
我正在創建一個非常基本的管理頁面來控制另一個頁面上的內容。
我在管理頁面上有幾個字段,其中一個是文件上傳字段。 提交表單后,文件將上傳到文件夾,文件名將放入數據庫。
問題是,當有人進入管理頁面以更新內容並且他們沒有上載文件時,文件名值將從數據庫中刪除。
有沒有辦法進行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'";
你可以用這個...
例如
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'";
}
聽起來您需要向應用程序添加一些邏輯。 大部分時間可以通過向表單添加“刪除”復選框來完成,因此,如果用戶單擊“刪除”復選框,它將刪除該行,如果不單擊該行,則不會發生與該文件有關的任何事情。
您應該首先顯示查詢。 我猜您沒有正確編寫更新查詢。
$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)."'";
將條件構建為基於條件的字符串的基本思想。 這總是對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.