PHP7 时代来临,操纵 MYSQL 您使用 mysqli 还是 PDO - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yeyeye
V2EX    问与答

PHP7 时代来临,操纵 MYSQL 您使用 mysqli 还是 PDO

  •  
  •   yeyeye 2016-04-07 13:45:21 +08:00 9077 次点击
    这是一个创建于 3476 天前的主题,其中的信息可能已经有所发展或是发生改变。
    作为一个只开发自用小程序的人 面临 php7 的来临 其实是无奈的…… 因为不支持 mysql 连接方式了……(这里指的是 mysql mysqli pdo )

    那么 mysqli 和 pdo 该用哪个呢? 其实我想知道 mysql 下一个该拿哪个开刀了……
    13 条回复    2016-04-07 15:48:54 +08:00
    somnus
        1
    somnus  
       2016-04-07 13:51:42 +08:00   1
    pdo 啊,现在用 mysqli 的也不多了
    ovear
        2
    ovear  
       2016-04-07 13:53:21 +08:00   1
    pdo 做 databind 杜绝注入啊。。下一个开刀的就是 mysqli 咯~
    yeyeye
        3
    yeyeye  
    OP
       2016-04-07 14:02:53 +08:00
    @somnus

    主要自己用 所以也不知道别人用的什么 嘿嘿 谢谢!


    @ovear

    我是 asp 转过来的菜鸟 注入的问题其实不难解决吧?以前在 ASP 的方案是……
    1.字符串字段,转义单引号,转义换行符
    2.时间日期字段,判断字符串是否是日期格式。
    3.数字字段,判断变量是否为数字…

    没分析过 mysql 的注入案例 但是感觉这几点做到了 应该是一样吧……
    XianZaiZhuCe
        4
    XianZaiZhuCe  
       2016-04-07 14:06:38 +08:00 via iPhone   1
    最近还是 mysqli , 不过都是框架封装好的,对我来说没区别……
    a591826944
        5
    a591826944  
       2016-04-07 14:10:36 +08:00   1
    @yeyeye 这些防止注入的方式 还是太初级啊。。而且容错性不高啊。。。 pdo param bind 解决一切啊
    yeyeye
        6
    yeyeye  
    OP
       2016-04-07 14:24:02 +08:00
    @a591826944 这只是查询的时候用的方式,更新和插入的时候 ASP 从来都是绑定数据的(每条字段数据都是用数组变量存起来的)……我也是用 PHP 之后才用拼接字符串的,多几个字段插入 /更新一条记录,那叫一个蛋疼,眼花缭乱了都……


    @XianZaiZhuCe 我倒是也不介意用什么 因为使用量不大 就是考虑 PHP 有时候会切掉一些功能 所以就想不要踩坑了 现在重构一下还好 以后又要重构 就很烦了
    gamexg
        7
    gamexg  
       2016-04-07 15:22:48 +08:00   1
    @yeyeye 记得以前在乌云看到过宽字符、\0 等一些稀奇古怪的方式可以绕过单引号过滤。参数化查询是话最好的解决方案。
    ffwalle
        8
    ffwalle  
       2016-04-07 15:23:18 +08:00   1
    pdo
    cxbig
        9
    cxbig  
       2016-04-07 15:24:00 +08:00   1
    mysqli 早就该扔了
    FanError
        10
    FanError  
       2016-04-07 15:25:02 +08:00   1
    php5 时代就 pdo 了
    Jaylee
        11
    Jaylee  
       2016-04-07 15:27:31 +08:00   1
    建议 mysqli , 相比 pdo 性能更高,功能更强, 并且 prepare 之类的功能 mysqli 也有。
    skydiver
        12
    skydiver  
       2016-04-07 15:31:02 +08:00   1
    mysqli 性能更高,支持 mysql 的一些独有功能
    pdo 支持 client side prepared statement.
    看业务需求了
    xiaonianji
    nbsp;   13
    xiaonianji  
       2016-04-07 15:48:54 +08:00 via iPhone   1
    肯定 pdo 啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 05:03 PVG 13:03 LAX 22:03 JFK 01:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86