我经常搜索,但没有找到合适的答案。
我用过这个:
$con=mysql_connect('localhost','root','');
mysql_select_db('db_name',$con);
我也用过这个:
$con=mysql_connect('localhost','root','');
mysql_select_db('db_name');
两者都适合我...... 它们之间的区别是什么,它们的优缺点是什么?
答案 0 :(得分:2)
它们之间有什么区别?它们的优点和缺点是什么?
暂时忽略整个弃用的事情,这里的主要区别在于mysql_
家族的一些魔力。
具体而言,所有 mysql_
系列函数采用链接标识符(语句句柄,数据库连接资源,无论您希望调用它),这样做可选。如果省略该参数,则上次打开连接。
mysqli_
的过程版本不是这种情况,即使许多函数具有相同的名称和用途。实际上,mysqli_
中的参数顺序始终具有连接,而不是最后一个,仅仅是因为这个原因。
作为最佳做法,您应该从不省略mysql_
中的链接标识符。然后,作为最佳实践,您不应该使用 mysql_
。官方弃用通知今天在手册中提出。
面向对象模式中的PDO和mysqli中的方法也可以在没有连接参数的情况下运行,因为连接是调用方法的对象。
答案 1 :(得分:1)
第二个选项将使用mysql_connect打开的最后一个链接。如果没有找到,它将尝试打开没有值的连接(通常会失败)。如果打开多个数据库连接并希望指定要使用哪个数据库连接,则第一个选项会更好。