动态查询 php,使用PHP动态MySQL查询

大家好,我正在寻找一种方法来对我的

MySQL服务器进行动态查询.目前这是我用来更新服务器上数据的代码:

$deskAttr = json_decode($_POST["desk_attributes"]);

foreach($deskAttr as $key => $value) {

$sql = "UPDATE desk_attributes SET iw_standard=".$value->iw_standard.", avaya_standard=".$value->avaya_standard.", avaya_withcallid=".$value->avaya_withcallid.", avaya_withtransfer=".$value->avaya_withtransfer.", dual_screen=".$value->dual_screen.", air_conditioning=".$value->air_conditioning.", iw_obdialler=".$value->iw_obdialler." WHERE id=".$value->id;

$conn->query($sql);

}

如您所见,SQL列名称与thedeskAttrkeys相同.我正在寻找一种方法来使这一行成为一个循环,这样如果我要向MySQL表中添加更多列,我就不需要更改这一行.

它看起来像这样:

$deskAttr = json_decode($_POST["desk_attributes"]);

foreach($deskAttr as $key => $value) {

$sql = "UPDATE desk_attributes SET";

foreach($value as $k => $v) {

$sql .= " $k = $value->$k ,";

}

$sql .= "WHERE id=".$value->id";

}

我如何编写上面的代码,以便它真的有效?

谢谢.

编辑

也许知道$deskAttris对象数组和列的名称与对象键的名称相同会​​有所帮助.

这是我在伪代码中的意思:

foreach($object in $deskAttr) {

$sql = "UPDATE table SET ";

foreach($key in $object) {

if($key != "id")

$sql .= "$key = $object->$key, ";

}

$sql .= "WHERE id = $object->id;

$conn->query($sql);

}

显然,这会在WHERE部分之前的查询末尾添加一个额外的逗号,但希望你能得到我想要实现的目标.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值