php - PHP中的条件更新SQL语句
问题描述
我正在尝试使用我的数据库和以下代码更新我的第三列值(option_value):
if(isset($_POST['settings_updatebtn']))
{
$finerate= $_POST['fine_rate'];
$issue_email = $_POST['issue_template'];
$return_email = $_POST['return_template'];
$query = "UPDATE
settings
SET
option_value = CASE option_name WHEN 'finerate' THEN '$finerate' WHEN 'email_temp_issue' THEN '$issue_email' WHEN 'email_temp_return' THEN '$return_email'
WHERE
option_name IN (
'finerate',
'email_temp_issue',
'email_temp_return'
)";
$query_run = mysqli_query($connection,$query);
if($query_run)
{
$_SESSION['success']= "Your settings is updated";
header('Location: systemsettings.php'); }
else
{
$_SESSION['status']= "Your settings is NOT updated";
header('Location: systemsettings.php'); }
}
但是它显示查询没有运行,是我的 SQL 语句在某个地方出错了吗?
解决方案
在你的案例陈述END
结束时使用:
UPDATE
settings
SET
option_value =
CASE option_name
WHEN 'finerate' THEN '$finerate'
WHEN 'email_temp_issue' THEN '$issue_email'
WHEN 'email_temp_return' THEN '$return_email'
END
WHERE
option_name IN (
'finerate',
'email_temp_issue',
'email_temp_return'
)
推荐阅读
- vue.js - 简单的tiptap扩展或prosemiror插件
- gradle - Gradle:构建失败后清理资源
- python - 使用行分隔符将 pandas 数据框渲染到 HTML 表
- c# - 使用受保护的构造函数扩展非静态类
- c# - 如何在 WPF/Winforms/C# 中打开 FileDialog 引用?
- amazon-web-services - 使用 cli 将 ami 复制到不同的区域
- python - 从 .csv,只读或拆分为由 " 分隔的部分
" - postgresql - 在 PLPGSQL 上使用 RETURNING 子句存储 UPDATE 的结果
- android - 如何使用 P3 颜色空间使用 EGL 扩展创建表面
- python-3.x - TypeError:数据类型不理解模型?