mysqli_connect vs mysqli_real_connect

时间:2015-07-21 14:26:31

标签: php mysqli

我读了doumentation但我并不完全理解其中的区别。

连接对象在这方面有什么不同?我没找到任何帖子。

我误解了它。两者都没有标志。为什么他们没有在mysqli_connect中添加标记?任何具体原因?我应该使用哪一个?

3 个答案:

答案 0 :(得分:5)

此功能与mysqli_connect()不同:

mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

With the mysqli_options() function you can set various options for connection.

There is a flags parameter.

答案 1 :(得分:4)

mysqli_real_connect()mysqli_connect的区别在于

mysqli_real_connect()mysqli_connect接受更多的选择

例如,我正在为我的负载均衡器构建运行状况检查脚本,而我希望设置非常低的连接超时。

现在必须使用以下命令设置连接超时:

mysqli_options(),选项名称为MYSQLI_OPT_CONNECT_TIMEOUT

现在mysqli_options()的作用是应该在mysqli_init()之后和mysqli_real_connect()之前调用。

mysqli_connect不能用于此目的。

希望这种解释有所帮助。

<?php
//create the object
$connection = mysqli_init();

//specify the connection timeout
$connection->options(MYSQLI_OPT_CONNECT_TIMEOUT, 3);

//specify the read timeout
$connection->options(MYSQLI_OPT_READ_TIMEOUT, 3);

//initiate the connection to the server, using both previously specified timeouts
$connection->real_connect('server', 'user', 'pass', 'database');
?>

答案 2 :(得分:3)

使用mysqli_real_connect,您可以测试mysqli对象的初始化是否成功,并在连接之前设置任何mysqli_options