我可以实现连接两个数据库,但是不能做联合查询,请问高手指点一下  mysql_query();这要怎么写啊?

解决方案 »

  1.   

    $db1 = mysql_connect('','','');
    $db2 = mysql_connect('','','');
    $result1 = mysql_query($query,$db1);
    $result2 = mysql_query($query,$db2);
      

  2.   

    SELECT * FROM table1 inner join db2.table2 on 条件 ;
      

  3.   

    是联合查询啊
    mysql_select_db($db1->dbname,$db1->dblink);
    mysql_select_db($db2->dbname,$db2->dblink);
    $sql = "select a.tagname,b.title from tags a,article b where a.id = b.tagid";
    请问下面怎么执行啊?
    也就是跨服务器进行联合查询?
      

  4.   

    如果你单从sql语句处理上来说,估计目前是不可行吧
    建议你使用程序来处理,分开查询然后使用程序来处理
      

  5.   

    PHP中 同时操作两个mysql数据库:$connect=mysql_connect("localhost","root","",true);$db=mysql_select_db("test",$connect);mysql_query("set names utf8");
    $connect2=mysql_connect("localhost","root","",true);$db2=mysql_select_db("test",$connect2);mysql_query("set names gbk");
    /*mysql_connect() 函数打开非持久的 MySQL 连接。mysql_connect(server,user,pwd,newlink,clientflag)
    server 可选。规定要连接的服务器。可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。
     
    user 可选。用户名。默认值是服务器进程所有者的用户名。 
    pwd 可选。密码。默认值是空密码。 
    newlink 可选。如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数 new_link 改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。 
    clientflag 可选。client_flags 参数可以是以下常量的组合:MYSQL_CLIENT_SSL - 使用 SSL 加密 
    mysql_query   
    mysql_query   (PHP 3, PHP 4 )   mysql_query -- 发送一条 MySQL 查询  说明  resource mysql_query ( string query [, resource link_identifier])   mysql_query() 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存。   注: 查询字符串不应以分号结束。   mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。
    */
    ##不指定连接 默认最近$rec=mysql_query("select title from wenzhang where id=1");$arr=mysql_fetch_array($rec);
    echo $arr[0]."<br>";
    ##指定 操作第一个连接$rec=mysql_query("select title from wenzhang where id=1",$connect);$arr=mysql_fetch_array($rec);echo $arr[0]."<br>";---------------------------------------------------------------------------------------------
    http://www.jiemengwu.com/ 解梦屋 http://www.phpzy.com/php/ 绿色php资源http://www.shopfw.com网店服务
      

  6.   

    远程联合查询mssql -创建链接服务器  能做到。。其他数据库不清楚  
      

  7.   

    是同一台数据库上吗?如果是的话需要加上数据库名作为前缀,例如 dbname1.tableName.fieldName
      

  8.   

    http://topic.csdn.net/t/20060815/17/4951580.html
      

  9.   


    我们可以跨表,也可以跨库, 但是.跨服务器. 就有难度了````Mark一下. 表示关注
      

  10.   

    要想干这个 还是oop容易点
      

  11.   

    $db1 = mysql_connect('','','');
    $db2 = mysql_connect('','','');
    $result1 = mysql_query($query,$db1);
    $result2 = mysql_query($query,$db2);
      

  12.   

    oracle有dblink可以。mysql本身没有这个功能,可以把另一个服务器的数据导入再一起查询。