我最近开始学习PHP,并发现连接到数据库的常见方法是:
// create connection to database
$connection = mysql_connect("localhost", "root", "password")
// Select database
$db_select = mysql_select_db("myDB", $connection);
// and finally the query..
$result = mysql_query("SELECT * FROM table", $connection);现在我的问题是,为什么我们必须在第三步中使用$connection ?!因为我们使用的是"myDB“数据库,所以我希望以这种方式编写第三步:
// and finally the query..
$result = mysql_query("SELECT * FROM table", $db_select);但似乎在php中不是这样做的。有人能解释一下为什么吗?
发布于 2012-04-29 23:59:52
该连接表示数据库服务器会话,该会话为您维护数据库状态。当前选定的数据库只是会话状态的一部分,因此通过传递连接,您也隐式地传递了当前选定的数据库(以及各种其他必要信息)。换句话说,连接比所选的数据库更通用。
(正如其他人已经注意到的,当您的程序只需要访问单个服务器上的单个数据库时,没有必要显式传递连接。默认情况下,MySQL将使用最近连接的会话。)
发布于 2012-04-29 23:06:03
这不是必需的。然而,它是非常有用的。如果连接到同一页上的多个数据库,则可能需要同时使用这两个数据库。但是,如果您不指定哪个连接,它将只使用您成功连接到的最后一个连接。
<?php
$forum = mysql_connect(...);
$users = mysql_connect(...);
$me = mysql_query("", $users);
$last_forum_post = mysql_query("", $forum);
?>然而,如果你只有一个连接,那么你不需要把它放进去。
发布于 2012-04-29 22:38:51
函数描述
mysql_query ( string $query [, resource $link_identifier ] )mysql_query()->将查询发送到数据库(针对与指定链接标识符关联的服务器上的当前活动数据库)。
参数
SQL query.
https://stackoverflow.com/questions/10372820
复制相似问题