我是Web开发的新手,我目前没有使用任何框架。
直到现在,我正在使用mysqli_query($conn, $sql)
向MySQL服务器发送查询。
最近我读了另一种使用$conn - > query($sql)
的技术。
我知道$conn->query($sql)
是发送查询的OOP方式,而mysqli_query($conn, $sql)
是程序方法。
我还没有学过面向对象的PHP但是,我会在转入框架之前尽快学习它。
有人可以告诉我使用$conn->query($sql)
优于mysqli_query($conn, $sql)
的优势吗?
它更安全吗?还有别的东西吗?
我知道OOP比Procedural好,但我想从安全(主要)的角度了解主要优势!
答案 0 :(得分:0)
" OOP优于程序编程" - 我说这取决于。如果我们谈论性能,那么是的,OOP比程序编程更有效,更有条理。如果您正在构建一个大型复杂项目,那么OOP就是您的选择。但是,如果我们谈论安全性,那么程序编程方法就像OOP方法一样安全。特别是如果你正在使用PDO。使用PDO时,使用命名占位符而不是直接将变量传递到Query中,这有助于防止SQL注入等攻击。如果你使用PDO,你不需要自己清理你的输入(消除额外的编码),因为PDO负责这一点。
我建议你开始学习PDO,因为它遵循面向Obejct的编程风格,所以如果你从它开始,当你开始在OOPHP中编写代码时,你已经领先一步。希望有所帮助。
答案 1 :(得分:0)
都不是。
直截了当的三点:
第二个选项可让您减少输入:
mysqli_query($mysqli, $query);
vs.
$mysqli->query($query);
我知道OOP优于Procedural
这在这里无关紧要。不要将面向对象编程与对象语法混淆。前者是一个非常复杂的主题,需要花费数年时间才能学习,而且你几乎不会很快得到它。虽然对象语法只是一种语法 - 但不能少说。没有什么太复杂可以担心,也没有任何戏剧性的好处