[英]Does the `$result = mysqli_query($conn, $sql);` query out all the user data on time?
[英]mysqli_query($conn, $sql) or $conn->query($sql)
我是 Web 開發的新手,我目前沒有使用任何框架。
到目前為止,我一直在使用mysqli_query($conn, $sql)
向 MySQL 服務器發送查詢。
最近我閱讀了另一種使用$conn - > query($sql)
。
我知道$conn->query($sql)
是發送查詢的 OOP 方式,而mysqli_query($conn, $sql)
是過程方法。
我還沒有學習面向對象的 PHP 但是,我將在進入框架之前很快學習它。
有人能告訴我在mysqli_query($conn, $sql)
上使用$conn->query($sql)
的優勢嗎? 是不是更安全? 還有別的嗎?
我知道 OOP 比 Procedural 更好,但我想從安全(主要)的角度了解主要優點!
兩者都不。
三點讓你直截了當:
第二個選項只會讓你少打字:
mysqli_query($mysqli, $query); vs. $mysqli->query($query);
我知道 OOP 比 Procedural 好
這在這里是無關緊要的。 不要將面向對象編程與對象語法混淆。 前者是一個非常復雜的主題,需要數年時間才能學習,而且您幾乎不會很快就學會。 雖然對象語法只是一種語法——不多不少。 無需擔心太復雜,也沒有任何顯着的好處
“OOP 比過程式編程更好” - 我會說這取決於。 如果我們談論性能,那么是的,OOP 比過程式編程更高效且更有條理。 如果您正在構建一個大型復雜項目,那么 OOP 是您的最佳選擇。 但是,如果我們談論安全性,那么過程編程方法與 OOP 方法一樣安全。 特別是如果您使用 PDO。 當您使用 PDO 時,您使用命名占位符而不是將變量直接傳遞到查詢中,這有助於防止諸如 SQL 注入之類的攻擊。 如果你使用 PDO,你不需要自己清理你的輸入(消除額外的編碼),因為 PDO 會照顧到這一點。
我建議您從PDO開始學習,因為它遵循面向對象的編程風格,所以如果您從它開始,當您開始使用 OOPHP 編寫代碼時,您已經領先一步。 希望有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.