0

我进行了很多搜索,但没有找到合适的答案。

我用过这个:

  $con=mysql_connect('localhost','root','');
  mysql_select_db('db_name',$con);

我也用过这个:

  $con=mysql_connect('localhost','root','');
  mysql_select_db('db_name');

两者都对我有用。它们之间有什么区别,它们的优缺点是什么?

4

2 回答 2

2

它们之间有什么区别,它们的优缺点是什么?

暂时忽略整个弃用的事情,这里的主要区别在于mysql_家庭实现的一些魔法。

具体来说,所有 mysql_采用链接标识符(语句句柄、数据库连接资源,无论你想怎么称呼它)的系列函数都是可选的。如果省略该参数,它将是最后打开的连接。

程序版本的情况并非如此mysqli_,尽管许多函数具有相同的名称和用途。事实上,mysqli_正是因为这个原因,in 中的参数顺序总是首先连接而不是最后连接。

作为最佳实践,您应该永远不要省略mysql_. 再说一次,作为最佳实践,您不应该使用 mysql_. 今天官方的弃用通知出现在手册中。

面向对象模式下的PDO和 mysqli 中的方法也可以在没有连接参数的情况下运行,因为连接是您调用方法的对象。

于 2012-12-15T06:52:31.647 回答
1

第二个选项将使用 mysql_connect 打开的最后一个链接。如果没有找到,它将尝试打开没有值的连接(通常会失败)。如果有多个数据库连接打开并且想要指定使用哪个数据库连接,第一个选项会更好。

于 2012-12-15T06:54:33.263 回答