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

2016-04-07 13:45:21 +08:00
 yeyeye
作为一个只开发自用小程序的人 面临 php7 的来临 其实是无奈的…… 因为不支持 mysql 连接方式了……(这里指的是 mysql mysqli pdo )

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

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


@ovear

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

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


@XianZaiZhuCe 我倒是也不介意用什么 因为使用量不大 就是考虑 PHP 有时候会切掉一些功能 所以就想不要踩坑了 现在重构一下还好 以后又要重构 就很烦了
gamexg
2016-04-07 15:22:48 +08:00
@yeyeye 记得以前在乌云看到过宽字符、\0 等一些稀奇古怪的方式可以绕过单引号过滤。参数化查询是话最好的解决方案。
ffwalle
2016-04-07 15:23:18 +08:00
pdo
cxbig
2016-04-07 15:24:00 +08:00
mysqli 早就该扔了
FanError
2016-04-07 15:25:02 +08:00
php5 时代就 pdo 了
Jaylee
2016-04-07 15:27:31 +08:00
建议 mysqli , 相比 pdo 性能更高,功能更强, 并且 prepare 之类的功能 mysqli 也有。
skydiver
2016-04-07 15:31:02 +08:00
mysqli 性能更高,支持 mysql 的一些独有功能
pdo 支持 client side prepared statement.
看业务需求了
xiaonianji
2016-04-07 15:48:54 +08:00
肯定 pdo 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/269231

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX