mysqli::connect 和 new mysqli 有什么区别?
What is the difference between mysqli::connect and new mysqli?
Mysqli 库提供了许多用于建立与 MySQL 服务器的连接的替代语法。
#1
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
#2
$mysqli = new mysqli();
$mysqli->connect('localhost', 'my_user', 'my_password', 'my_db');
我问的不是 procedural vs OOP style nor am I asking about mysqli_connect()
vs mysqli_real_connect()
。
mysqli:connect()
方法的目的是什么,使用第一个选项和第二个选项连接有什么区别吗?
没有区别。
如果您使用参数调用 new mysqli
,它会自动使用这些参数调用 $this->connect()
。
否则它会使 mysqli
对象处于未连接状态,您必须显式调用 connect()
方法。这就是方法 2 所做的。
如果您需要在连接前调用 mysqli::options()
,则使用单独的调用会很有用。一些选项会影响到数据库的连接,例如MYSQLI_OPT_CONNECT_TIMEOUT
,所以你需要在调用mysqli::connect()
之前设置它们
Mysqli 库提供了许多用于建立与 MySQL 服务器的连接的替代语法。
#1
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
#2
$mysqli = new mysqli();
$mysqli->connect('localhost', 'my_user', 'my_password', 'my_db');
我问的不是 procedural vs OOP style nor am I asking about mysqli_connect()
vs mysqli_real_connect()
。
mysqli:connect()
方法的目的是什么,使用第一个选项和第二个选项连接有什么区别吗?
没有区别。
如果您使用参数调用 new mysqli
,它会自动使用这些参数调用 $this->connect()
。
否则它会使 mysqli
对象处于未连接状态,您必须显式调用 connect()
方法。这就是方法 2 所做的。
如果您需要在连接前调用 mysqli::options()
,则使用单独的调用会很有用。一些选项会影响到数据库的连接,例如MYSQLI_OPT_CONNECT_TIMEOUT
,所以你需要在调用mysqli::connect()