参考MongoDB输入格式的SQL生成器 by PHP

本文介绍了一个基于PHP 5.3.x的MongoDB查询解析器,该解析器能够将MongoDB风格的查询转换为易于理解的数组格式,并进一步生成SQL语句,便于进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(需要php 5.3.x)这几天参考MongoDB的传入参数格式 find({a:1,$or:{c:1,b:2}}) 这样的表示方法,写了个由这种传入方法对数据进行解析 并输出带分析数据的array,以便后续class使用 不知道这种设计方法是否实用,里面的注释有可能写的不对,毕竟自己复制粘贴自己的也很多 源代码参见附件,这里贴出测试数据的结果以便表明我要做什么,欢迎交流指点 (贴个代码咋就这么难)

Array
(
    [parameters] => Array
        (
            [p11] => 1
            [p12] => foo
            [p13] => 1
            [p14] => 3
        )

    [into] => t1
    [write] => (`a`=:p11,`c`=:p12)
    [detail] => Array
        (
            [where] => Array
                (
                    [c] => 1
                    [a] => 1
                )

        )

    [query] =>  `c` = :p13  and `a` = :p14 
    [sql] => UPDATE `t1`  `c` = :p13  and `a` = :p14  SET (`a`=:p11,`c`=:p12) WHERE  `c` = :p13  and `a` = :p14 
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值