mysqli_connect参数如何可选?

时间:2017-09-07 10:50:10

标签: mysqli

根据w3schools.com,mysqli_connect函数的所有参数都是可选的:

mysqli_connect($host,$username,$password,$dbname,$port,$socket);

“可选”是什么意思?我不明白的是我们如何跳过这些值并让它使用默认值?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您可以直接在php.ini配置文件中指定默认的MySQL凭据。

请参阅http://php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port作为参考。

然后,如果你调用mysqli_connect(),仍然会使用php.ini中的那些设置建立连接(假设它们当然是正确的)。

除非您不理解的是默认参数的想法?对不起,如果我错了,但我无法从你的问题中清楚地看出来。如果是这种情况,请:http://php.net/manual/en/functions.arguments.php#functions.arguments.default

答案 1 :(得分:0)

好的,我自己想通了。这完全是一个菜鸟。由于mysqli_connect接受不同的字符串作为其参数,因此'可选' (因此跳过参数)意味着提供空字符串("")作为参数,在这种情况下它使用默认值。

答案 2 :(得分:0)

当参数为可选参数时,表示您无需提供任何值。该函数将与任何数量的参数一样照常工作。

new mysqli() / mysqli_connect()具有所有参数的默认值。可以在INI文件中指定这些值。如果函数调用中未提供默认值,则在连接PHP时将使用默认值。

如果要跳过中间的一个参数,可以传递NULL或一个空字符串,这也将告诉mysqli使用默认值。

小心。 PHP手册说mysqli_connect()new mysqli是彼此的别名,但这并不完全正确。如果您没有为mysqli_connect()提供任何参数,它将选择默认参数。但是,new mysqli()完全不会尝试连接。如果未提供任何参数,其行为将与mysqli_init()完全一样。您可以通过两种方式解决此问题:

// pass null as a single argument
$mysqli = new mysqli(null);

// call connect manually
$mysqli = new mysqli();
$mysqli->connect();