php - 无法更新 MySQL 中的值
问题描述
我有一个config_table
带有字段的表id
,config_value
。我想更新config value
如下id ='6'
if($user->status_id=='1' && $user->reviewed!='0'){
if($sl_flag==0 && $requestor_role->role_id==7){
$status="Waiting for Review";
$title="Waiting for Review";
}elseif($sl_flag==0){
$status="Waiting for dept.owner approval";
$title="Waiting for Deptment owner approval ";
}else{
$status="Waiting for prac.owner approval";
$title="Waiting for practice owner approval";
}
}
我已更新为
update config_table set config_value=' if($user->status_id=='1' && $user->reviewed!='0'){
if($sl_flag==0 && $requestor_role->role_id==7){
$status="Waiting for Review";
$title="Waiting for Review";
}elseif($sl_flag==0){
$status="Waiting for dept.owner approval";
$title="Waiting for Deptment owner approval ";
}else{
$status="Waiting for prac.owner approval";
$title="Waiting for practice owner approval";
}
}' where id='6';
我已经在腻子服务器中尝试过这个,但是我在每行的 } 附近发现了语法错误。如何更新这个
解决方案
您正在使用''
的config_value
地方也开始使用''
. 所以它认为它到此结束,但你只想分配一个值。此代码中有几个选项可以修复它。首先:PHP 是松散类型的,所以你可以只更新''
到.config_value
""
update config_table set config_value=' if($user->status_id=="1" && $user->reviewed!="0"){
if($sl_flag==0 && $requestor_role->role_id==7)
{ $status="Waiting for Review";
$title="Waiting for Review";
}
elseif($sl_flag==0)
{ $status="Waiting for dept.owner approval";
$title="Waiting for Deptment owner approval ";
}
else
{ $status="Waiting for prac.owner approval";
$title="Waiting for practice owner approval";
}
}' where id="6";
另一种选择是转义您使用检查的值''
。这可以通过\
在'
.
value = 'if($user->status_id==\'1\') { /*your code*/ }'
推荐阅读
- highcharts - 在网络图中悬停时覆盖默认突出显示
- git - 使用 GitHub API 获取特定于提交 ID 的存储库中所有文件的列表
- docker - Docker 容器中的浏览器(通过 Selenium Webriver)的互联网速度非常慢
- api - Json RPC 是否因为返回 JSON 而被称为“JSON”RPC?
- typescript - 正确测试 typeorm 服务
- git - 有没有办法在 git revert 之前取回已提交的更改?
- amazon-web-services - Amazon S3 ListObjectsV2 操作:拒绝访问
- mysql - 是否可以在 SELECT 中使用项目列表而不在 MySQL 中使用临时表?
- binary-tree - Coq 中的二叉树反转
- python - 如何从列表中打印变量的名称?