提问人:Anish 提问时间:3/28/2019 最后编辑:Anish 更新时间:3/28/2019 访问量:352
mysqli_connect($mysql_host, $mysql_user, $mysql_password) 或 die('建立连接时出错')
mysqli_connect($mysql_host, $mysql_user, $mysql_password) or die('Error establishing connection')
问:
我知道当执行此语句时,它首先检查mysqli_connect是否成功,然后不执行另一个 die 语句。 我在这里想知道的是,如果第一次检查(即mysqli_connect成功),这是否意味着它与布尔值相同?如果mysqli_connect不成功,是否意味着它与布尔值相同?
答:
1赞
Rakesh Jakhar
3/28/2019
#1
该语句返回一个对象,而不是任何布尔值。尝试将其存储在变量中,并var_dump以查看它返回的内容。它返回一个对象,表示与MySQL服务器的连接。
在不成功的情况下,or 语句将执行并因 die() 而停止执行
评论
0赞
Alive to die - Anant
3/28/2019
您可以简单地给他手动链接而不是回答。[顺便说一句,我根本不是投票者]。您可以检查:- mysqli::__construct
1赞
Zain Farooq
3/28/2019
@catcon 不,它是一个对象
0赞
user7951328
3/28/2019
#2
我认为mysqli_connect_error()将帮助您解决此问题。
它返回一个描述错误的字符串。
https://www.php.net/manual/de/mysqli.connect-error.php
0赞
Alive to die - Anant
3/28/2019
#3
基于手册 mysqli::__construct
返回值:返回一个对象,该对象表示与MySQL服务器的连接。
因此,当连接成功时,它将返回一个数据库连接对象。
如果没有,那么条件将执行您写入的消息,即:- 建立连接时出错or
为了获得更好的做法,请始终尝试找出连接时出现的问题,以便您可以解决它。所以写如下:-
mysqli_connect($mysql_host, $mysql_user, $mysql_password) or die(mysqli_connect_error());
参考资料:- mysqli_connect_error()
评论
0赞
Anish
3/28/2019
谢谢你的帮助@alive死了 当数据库连接对象返回时,我们能说它是布尔值真吗(1)...我感到困惑的是,如果数据库连接未返回并产生错误,这是否意味着布尔值为假(0)
0赞
Alive to die - Anant
3/28/2019
When database connection object is returned, can we say it is boolean true
-> 编号如果数据库连接没有返回并产生错误,这是否意味着布尔值 false ->不,它将返回一个带有错误号和消息的错误对象,您需要检查 [mysqli_connect_error() 将要做什么]
0赞
Anish
3/28/2019
感谢 @Alive to Die 的帮助
评论