簡體   English   中英

使用PHP連接和查詢MySQL數據庫的最佳方法是什么?

[英]What is the best way to connect to and query a MySQL database using PHP?

這是一個非常簡單的問題,但我想對某些內容進行澄清。

我已經看到了許多使用PHP連接和查詢MySql數據庫的方法,但是哪種方法是使用php連接和創建查詢的最佳方法?

希望這是有道理的。

謝謝

到目前為止,最好的方法是使用准備好的語句 您可以使用PDO或mysqli來執行此操作,但是我更喜歡PDO擴展作為其命名參數。

為什么迄今為止准備好的陳述是最好的方法? 因為它們會為您處理參數引用和轉義。

錯誤,古老,容易出錯,乏味的方式:

$result = mysql_query("SELECT * FROM users WHERE 
                       password='".mysql_real_escape_string($password)."'");

您可以打賭,如果您編寫了這樣的應用程序,那么您有時會忘記轉義用戶輸入,而留下了一個巨大的SQL注入孔。

好准備的聲明方式:

$stmt = $dbh->prepare("SELECT * FROM users WHERE password=:password");
$stmt->bindParam(':password', $password);
$stmt->execute();

轉義已為您完成,您甚至不必擔心在需要引號的參數類型周圍加上引號。

假設您的php版本足夠新以支持'em,請使用面向對象的版本 他們比隨機功能湯干凈得多恕我直言。

我認為這並不像說“最好的方法是……”那么簡單

就我個人而言,我幾乎從來沒有使用自己的代碼連接到數據庫,通常我有一個框架可以為我這樣做。 就是說,如果我正在編寫一個小型獨立應用程序,那么我將使用PHP數據對象(PDO)方法來連接和查詢數據庫。

有關所需的所有信息和示例,請參見手冊頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM