好的,基本上我知道我们使用
$conn=mysql_connect($dbhost,$dbuser,$dbpass);
然后使用
mysql_select_db("dbname",$conn)
到目前为止一切顺利,但是选择和连接到数据库有什么区别?或者我是连接到数据库服务器然后在所有可用数据库中选择所需的数据库吗?提前谢谢。
不再支持功能mysql_*
,它们已正式弃用,不再维护,将来将被删除。您应该使用PDO或MySQLi更新您的代码,以确保您的项目在未来的功能。
不同之处在于,仅连接到数据库服务器将不允许您创建表或选择表,直到您选择要用于原因的数据库。
有了mysqli
这个也更简单:
$db = new mysqli($host,$user,$pass,$dbselect);
if($db->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
mysql_connect
将您连接到数据库服务器而不是数据库,同时mysql_select_db
选择在当前 mysql 连接上使用哪个数据库
MySQL 是一个服务器。您不仅仅是“连接”到数据库。还涉及其他层。您首先连接到服务器,然后选择数据库。
是的,连接意味着您针对该 MySQL 实例验证您的用户和密码。然后,您可以访问您有权查看的任何数据库。
选择数据库仅意味着当您在没有限定数据库名称的情况下引用表时,它将使用该数据库作为默认数据库。但是您仍然可以查询任何数据库中的任何表,您只需为其添加前缀,如databasename.tablename
.
PS:正如其他人所评论的那样,您应该避免使用 mysql_* 函数,因为它们最近已被弃用。PHP 为 MySQL 提供了另外两个接口,它们具有更多功能并且可以以面向对象的方式使用。
您必须先连接到数据库主机,然后选择数据库。否则,如果你没有连接到数据库主机,那么选择数据库有什么意义呢?
哦,还有建议,不要再使用mysql_*
函数了。请改用 PDO。