好吧基本上我明白我们使用
连接到数据库$conn=mysql_connect($dbhost,$dbuser,$dbpass);
然后使用
选择所需的数据库mysql_select_db("dbname",$conn)
到目前为止一切顺利,但选择和连接到数据库有什么区别?或者我是否连接到数据库SERVER,然后在所有可用的数据库中选择所需的数据库?提前感谢。
答案 0 :(得分:4)
mysql_*
个功能不再支持,它们为officially deprecated,不再维护,将为removed个未来。您应该使用PDO或MySQLi更新代码,以确保将来的项目功能。
不同之处在于,只有连接到数据库服务器才能创建表或选择表,直到您选择要用于原因的数据库。
使用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,并使用PDO或MySQLi - this article将帮助您确定哪个。
的文档
mysql_query()
向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。
的文档
mysql_connect()
打开或重用与MySQL服务器的连接。
答案 2 :(得分:0)
mysql_connect
将您连接到数据库服务器而不是数据库,而mysql_select_db
选择在当前mysql连接上使用哪个数据库
MySQL是一个服务器。您不只是“连接”到数据库。还涉及其他层面。首先连接到服务器,然后选择数据库。
答案 3 :(得分:0)
是的,连接意味着您对用户进行身份验证&针对该MySQL实例的密码。然后,您可以访问您有权查看的任何数据库。
仅选择数据库意味着在引用表而不限定数据库名称时,它会将该数据库用作默认值。但是你仍然可以查询任何数据库中的任何表,你只需要在其前面添加databasename.tablename
。
PS:正如其他人所评论的那样,你应该避免使用mysql_ *函数,因为它们最近已经被弃用了。 PHP为MySQL提供了另外两个接口,它们具有更多功能,可以以面向对象的方式使用。
答案 4 :(得分:0)
您必须先连接到数据库主机,然后选择数据库。否则,如果未连接到数据库主机,选择数据库的重点是什么?
哦,建议,不要再使用mysql_*
函数了。请改用PDO。