mysqli_query($conn、$sql)或$conn->query($sql)



我是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 比程序化更好,但我想知道主要优势,从安全性(主要是(的角度来看!

两者都不是。

三点直截了当:

  1. 有很多值得注意的"学习"。对象语法看起来很愚蠢:只是一个用于访问方法或属性的箭头。当然,你已经去了。
  2. 第二个选项只是让你少打字

    mysqli_query($mysqli, $query);
    vs.
    $mysqli->query($query); 
    
  3. 无论哪种方式,您都应该使用 PDO,而不是 mysqli

我知道OOP比程序更好

这在这里无关紧要。不要将面向对象编程与对象语法混淆。前者是一个非常复杂的话题,需要数年时间才能学会,而且你几乎不会很快得到它。虽然对象语法只是一种语法 - 不多不少。没有什么太复杂而不必担心的,也没有任何显着的好处

">

OOP比过程编程更好" - 我会说这取决于。如果我们谈论的是性能,那么是的,OOP比过程编程更有效,更有条理。如果您正在构建一个大型复杂项目,那么 OOP 就是您的最佳选择。但是,如果我们谈论的是安全性,那么过程编程方法与OOP方法一样安全。特别是如果您正在使用PDO。使用 PDO 时,使用命名占位符,而不是将变量直接传递到查询中,这有助于防止 SQL 注入等攻击。如果您使用 PDO,则无需自己清理输入(消除额外的编码(,因为 PDO 会处理这个问题。

我建议您开始使用PDO,因为它遵循面向Obejct的编程风格,因此,如果您开始使用它,那么当您开始使用OOPHP编写代码时,您已经领先一步。希望有帮助。

相关内容

  • 没有找到相关文章

最新更新