2009-11-02 72 views
0
在PHP

MySQL連接可以通過兩種方式建立:在PHP連接MySQL數據庫的最佳方式

$mysql = new mysqli('localhost', 'user_name', 'password', 'database_name'); 

$link = mysqli_connect('localhost', 'user_name', 'password'); 
mysqli_set_charset($link, 'utf8'); 
mysqli_select_db($link, 'database_name'); 

哪一個更好,爲什麼?

回答

2

你會處理多個數據庫嗎?如果是這樣的話,不要在構造函數中設置database_name是一個好主意。否則,沒問題。除了你在第二個字符集中設置字符集的事實,我認爲沒有太大區別。

4

無論你喜歡哪一個。爲了與我的應用程序的其他部分保持一致,我將使用OOP接口,因爲這就是我使用MySqli的方式。另外,在我看來,OOP接口的方式要更清潔(至少在美學上)。

1
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) { 
    // error: mysqli extension error 
    exit('...'); 
} 

$connection = mysqli_init(); 
@mysqli_real_connect($connection, DBHOST, 
    DBUSER, DBPASS, DBNAME, DBPORT, NULL, MYSQLI_CLIENT_FOUND_ROWS); 

if (mysqli_connect_errno() > 0) { 
    // error: connection error 
    echo mysqli_connect_error(); 
    exit(); 
} 

// Force UTF-8. 
mysqli_query($connection, 'SET NAMES "utf8"'); 

此示例根據Drupal6 database.mysqli.inc

0

兩種方法都是使用mysqli擴展的有效途徑。第一個是面向對象的接口,第二個是過程接口。它們是相同的,它只是一個偏好問題。請參閱PHP mysqli documentation

0

的最佳方式連接到MySQL database在PHP中使用PDO driverhttp://php.net/manual/es/book.pdo.php也已參數化查詢和you can avoid sql injection easily和你可能喜歡的其他功能,也可能知道,is prepared to work with object oriented programming,它是很酷

希望它可以幫助你。

PS:PDO它也可以用於連接到其他類型的SQL數據庫,如SQL Server等......你必須學習PDO(這很簡單),然後你可以連接到許多種SQL數據庫。

相關問題