我应该使用哪种方法?为什么?

时间:2012-09-14 11:41:20

标签: php mysql

我正在使用函数

在php中建立数据库连接

$DBConn = mysql_connect ("localhost" , "testuser" , "test123")

在发布连接时我正在使用

if( is_resource($DBConn) )

检查当前是否设置了连接。我想知道这样做是否有效,或者我应该像这样检查连接

if( $DBConn )

我想知道使用这两种陈述的刺激和弊端。

3 个答案:

答案 0 :(得分:1)

首先,您不应再使用mysql_xxx函数;有很多文章讨论了用PDO / mysqli编写语句等的好处。

通过查看手册,它指出它在失败时返回链接标识符或false。您不应该假设这个标识符到底是什么,它通常是一个资源,但它也可能是一个对象或整数。我只是否定了更容易的条件:

if (false !== $DBConn) {
    // do something with the database
}

或者,或者:

if (false === $DBConn) {
    throw new Exception("Could not connect to database");
}
// do something with the database

修改

使用if ($DBConn) { ... }也没关系,因为它基本上与0,false,null,“”和空数组相反。

答案 1 :(得分:0)

成功连接或查询后返回资源标识符。因此,函数is_resource将变量标识为资源或错误。

如果If表达式求值为TRUE,则PHP将执行语句,如果求值为FALSE,则不会。{/ p>

答案 2 :(得分:0)

它们两者基本相同,但有人可能认为调用is_resource方法有调用函数的开销,if也必须确定这一点,它实际上没有区别他们都。它的全部是关于你的编码风格和可读性我想