2009-11-02 67 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数据库。

相关问题