【问题标题】:Convert SQL update query to json request将 SQL 更新查询转换为 json 请求
【发布时间】:2016-10-08 05:34:55
【问题描述】:

我有一个这样的 sql 更新查询;请注意,我只有一个查询字符串,例如 $query:

$query = 'UPDATE "public"."activity" SET "itemid" = 2, "itemname" = 'sssd' WHERE "id" = 19';

从这个字符串化查询中,我可以分别得到 set 子句:

$setClause = '"itemid" = 2, "itemname" = 'sssd'';

我需要将此 set 子句转换为 json 数组以发送 ajax 请求,例如:

{
    "itemid": 2,
    "itemname": "sssd"
  }

到目前为止,我还没有弄清楚这一点;我也在网上寻找解决方案,但找不到。请问有什么想法吗?

【问题讨论】:

  • 将查询转换为 JSON 的目的是什么?阅读这个问题,您似乎首先可以做一些事情来实现您的目标。你能提供更多细节吗?
  • @JohnHalbert 当然,我正在修改一个直接连接到数据库的应用程序,它也可以通过一个安静的 Web 服务工作。我找到了生成和执行 sql 查询的 php 代码,我正在尝试使用该部分使应用程序连接到 Web 服务。请注意,我需要数据库连接和 Web 服务连接才能继续工作。我也不希望尽可能多地更改现有代码。
  • 所以,如果我不理解,请纠正我,您想从 AJAX 请求转换传入的 JSON 以允许您动态更改查询?如果是这种情况,请注意 SQL 注入,并可能查看 php 的 json_decode() 方法。
  • 没有。我只想向从同一查询生成的 Web 服务发送 sql 请求(哪个数据库在同一台服务器中)+ 一个请求。 :)
  • $sc2JSON = '{' . str_replace('=', ':', $setClause) . '}' ??

标签: php sql json


【解决方案1】:

这为我完成了这项工作。感谢John Halbert 在 cmets 中指出。

public function GetJsonFromUpdateSetClause($setClause){
        $sc2JSON1 = '{' . str_replace('=', ':', $setClause) . '}';
        $sc2JSON2 =  str_replace('\'', '\"', $sc2JSON1) ;
        $sc2JSON3 = stripcslashes($sc2JSON2);
        return $sc2JSON3;
    }

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 2017-04-02
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多