在MySQL中连接和选择数据库

时间:2013-06-17 03:02:10

标签: php mysql

好吧基本上我明白我们使用

连接到数据库
$conn=mysql_connect($dbhost,$dbuser,$dbpass);

然后使用

选择所需的数据库
mysql_select_db("dbname",$conn)

到目前为止一切顺利,但选择和连接到数据库有什么区别?或者我是否连接到数据库SERVER,然后在所有可用的数据库中选择所需的数据库?提前感谢。

5 个答案:

答案 0 :(得分:4)

mysql_*个功能不再支持,它们为officially deprecated不再维护,将为removed个未来。您应该使用PDOMySQLi更新代码,以确保将来的项目功能。


不同之处在于,只有连接到数据库服务器才能创建表或选择表,直到您选择要用于原因的数据库。

使用mysqli,这也更简单:

$db = new mysqli($host,$user,$pass,$dbselect);
if($db->connect_error)
        die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());

答案 1 :(得分:1)

不再维护

mysql_*个功能and are officially deprecated。请参阅red box?了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。

  

mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。

mysql_query

的文档
  

mysql_connect()打开或重用与MySQL服务器的连接。

mysql_connect

的文档

答案 2 :(得分:0)

mysql_connect将您连接到数据库服务器而不是数据库,而mysql_select_db选择在当前mysql连接上使用哪个数据库

MySQL是一个服务器。您不只是“连接”到数据库。还涉及其他层面。首先连接到服务器,然后选择数据库。

答案 3 :(得分:0)

是的,连接意味着您对用户进行身份验证&针对该MySQL实例的密码。然后,您可以访问您有权查看的任何数据库。

仅选择数据库意味着在引用表而不限定数据库名称时,它会将该数据库用作默认值。但是你仍然可以查询任何数据库中的任何表,你只需要在其前面添加databasename.tablename

PS:正如其他人所评论的那样,你应该避免使用mysql_ *函数,因为它们最近已经被弃用了。 PHP为MySQL提供了另外两个接口,它们具有更多功能,可以以面向对象的方式使用。

答案 4 :(得分:0)

您必须先连接到数据库主机,然后选择数据库。否则,如果未连接到数据库主机,选择数据库的重点是什么?

哦,建议,不要再使用mysql_*函数了。请改用PDO。