最近在处理一个程序中遇到一个小问题,当时觉得很奇怪,后来在同事的协助下找了一些资料发现原来是mysql_connect这个函数造成的
是这样的 在一个程序中 同时对多个数据库进行连接,程序实际设计多个数据库的意图是为了将数据库分离,减轻数据库服务器的压力,但是我在调试的过程中 都是在本地一个服务器中进行的 建立的了类似于如下的代码:
//前面定义dbhost dbuser dbpwd 等 变量
$conn1 = mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_select_db(”database1〃,$conn1);
$conn2 = mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_select_db(”database2〃,$conn2);
$conn3 = mysql_connect($dbhost,$dbuser,$dbpwd);
mysql_select_db(”database3〃,$conn3);
然后执行一个最简单的 从database1中的table1中查询出所有资料
mysql_query(”select * from table1 where 1〃,$conn1); //注意 这里指定了通过conn1的连接来进行操作
程序返回了mysql错误 信息是 “table database3.table1 not exists ” 奇怪明明指定了conn1的 却为什么使用了conn3
再看php手册 中mysql_query的用法 :请大家注意加下划线的一行
resource mysql_query ( string query [, resource link_identifier] )
mysql_query() 向与指定的连接标