gpt4 book ai didi

PHP/mysql条件更新查询

转载 作者:行者123 更新时间:2023-11-29 01:46:39 25 4
gpt4 key购买 nike

我正在尝试将数据提交到数据库。我有一个更新表单,上面有几个字段,可以将数据从数据库中提取到字段中。提交它会更新数据库中的数据。这两个字段与我在表单中的两个图像 uploader 有关。当我在页面上只有一个图片 uploader 时,我已经成功地做到了这一点,但是当我添加第二个时,我无法理解条件语法。下面是我用于只有一个图片 uploader 的表单的代码。它查看提交的元素是否为空。如果是这样,它会运行更新语句并忽略图像变量。如果图像变量不为空,它会运行一条更新语句,并将该字段添加到语句中。

if($imgProfileFull == ""){
$query = "update students set `nameFirst` = '$nameFirst', `nameLast` = '$nameLast', `profile` = '$profile', `priority` = '$priority', `active` = '$active', `_modifiedDate` = '$_modifiedDate' where `id` = '$id'";
}else{
if((($_FILES["image"]["type"] == "image/jpeg")
|| ($_FILES["image"]["type"] == "image/pjpeg"))
&& ($_FILES["image"]["size"] < 500000))
{
if($_FILES["image"]["error"] > 0){
header("location:students.php?file=error");
}else{
move_uploaded_file($_FILES["image"]["tmp_name"],
"../images/students/full/" . $imgProfileFull);
}
}else{
header("location:students.php?file=error");
}
$query = "update students set `imgProfileFull` = '$imgProfileFull', `nameFirst` = '$nameFirst', `nameLast` = '$nameLast', `profile` = '$profile', `priority` = '$priority', `active` = '$active', `_modifiedDate` = '$_modifiedDate' where `id` = '$id'";
}

我将如何编写我的更新语句以包含另一个图像字段。该变量将是 $imgProfileThumb。基本上,当且仅当它们不为空时,我想更新数据库中的两个图像列。这是因为表单的构建方式,图像字段在技术上始终为空,除非图像实际上传。有什么想法吗?谢谢!!

最佳答案

您可以使用 if 语句动态创建查询。

$query = "UPDATE students SET ";

if ($imgProfileFull !== ""){
$query .= "`imgProfileFull` = '$imgProfileFull', ";
}

if ($imgProfileThumb !== ""){
$query .= "`imgProfileThumb` = '$imgProfileThumb', ";
}

$query .= "`nameFirst` = '$nameFirst',
`nameLast` = '$nameLast',
`profile` = '$profile',
`priority` = '$priority',
`active` = '$active',
`_modifiedDate` = '$_modifiedDate'
WHERE `id` = '$id'";

您可能还希望使用 mysql_real_escape_string用于您的字符串数据(如果您还没有这样做的话)。

关于PHP/mysql条件更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5256119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com