比如我有两个数据库A,B
数据库B下有个表b插到数据库A下的表a
表b结构为
CREATE TABLE IF NOT EXISTS `b` (
  `cid` int(11) NOT NULL auto_increment,
  `username` varchar(25) NOT NULL,
  `Upassword` varchar(255) NOT NULL,
  `area` varchar(25) NOT NULL,
  `cost` int(255) NOT NULL,
  PRIMARY KEY  (`cid`)
)
如何用PHP实现下面这句
$sql="insert into a(cid,username,Upassword,area)
      select t1.cid,t1.username,t1.Upassword,t1.area from B.b t1"; 

解决方案 »

  1.   


    $sql="insert into A.a(cid,username,Upassword,area) 
          select t1.cid,t1.username,t1.Upassword,t1.area from B.b t1";
      

  2.   

    你想用一条sql语句来操作两个不同数据库的表格数据?好像做不到吧,没有你想象的这么简单。
      

  3.   

    把B 的先选出来,放到数组里,然后insert呢?
      

  4.   

    <?php
    $host="localhost";
    $user="root";
    $password="123456";
    $database_1="a";
    $database_2="b";session_start();$link=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_2,$link);
    $sql_1="select cid from b";
    $result_cid=mysql_query($sql_1);
    $row_cid=mysql_fetch_object($result_cid);$sql_2="select username from b";
    $result_user=mysql_query($sql_2);
    while($row_user = mysql_fetch_object($result_user))
    {
    echo $row_user->username.'<br>';
    };$sql_3="select Upassword from b";
    $result_upa=mysql_query($sql_3);
    $row_upa=mysql_fetch_object($result_upa);$sql_4="select area from b";
    $result_area=mysql_query($sql_4);
    $row_area=mysql_fetch_object($result_area);
    $link_2=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_1,$link);
    $sql="insert into a(cid,username,Upassword,area)
            values('$row_user->cid','$row_user->username','$row_upa->Upassword','$row_area->area');";
    mysql_query($sql);
    mysql_close($link); //关闭数据库连接
    echo "Hello!successful!"; //显示提示信息
    ?>我这样子弄,可是数据库A的表a看不到导入的数据
      

  5.   

    $link_2=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_1,$link); 应该 是$link_2
      

  6.   

    这个应该没关系吧,上面都有一句$link,用那句都一样吧
      

  7.   

    INSERT INTO A.a ( SELECT * FROM B.b) 
      

  8.   

    <?php
    $host="localhost";
    $user="root";
    $password="123456";
    $database_1="a";
    $database_2="b";session_start();$link=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_2,$link);
    $sql="select cid,username,Upassword,area from b";
    $result=mysql_query($sql);
    while (list($cid->cid,$username->username,$Upassword->Upassword,$area->area)=mysql_fetch_array($result)){
    echo $cid->cid.' '.$username->username.' '.$Upassword->Upassword.' '.$area->area.'<br>';
        }
    $link_2=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_1,$link_2);
    $sql="insert into a(cid,username,Upassword,area)
            values('$row_user->cid','$row_user->username','$row_upa->Upassword','$row_area->area');";mysql_query($sql);
    mysql_close($link); //关闭数据库连接
    echo "Hello!successful!"; //显示提示信息
    ?>我刷新一次,a的cid就自动增长一次,其它都为空,为什么是这样,那个地方要改
      

  9.   

    帮你改改吧!$host="localhost";
    $user="root";
    $password="123456";
    $database_1="a";
    $database_2="b";session_start();$link=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_2,$link);
    $sql="select cid,username,Upassword,area from b";
    $result=mysql_query($sql,$link);
    $rw=mysql_fetch_array($result);$link_2=mysql_connect($host,$user,$password) or die("fail");
    mysql_select_db($database_1,$link_2);
    $sql="insert into a(cid,username,Upassword,area)
            values('','$rw[\'username\']','$rw[\'Upassword\']','$rw[\'area\']');";mysql_query($sql);
    mysql_close($link); //关闭数据库连接
    echo "Hello!successful!"; //显示提示信息
      

  10.   

    我自己搞定了,哈哈 <?php 
    $host="localhost"; 
    $user="root"; 
    $password="123456"; 
    $database_1="a"; 
    $database_2="b"; session_start(); $link=mysql_connect($host,$user,$password) or die("fail"); 
    mysql_select_db($database_2,$link); 
    $sql_1="select cid,username,Upassword,area from b"; 
    $result_cid=mysql_query($sql_1); while(list($cid['cid'],$username['username'],$Upassword['Upassword'],$area['area'])=mysql_fetch_array($result_cid)){ 
    echo $cid['cid'].' '.$username['username'].' '.$Upassword['Upassword'].' '.$area['area'].' <br>'; 
    $row_cid=$cid['cid']; 
    $row_user=$username['username']; 
    $row_upa=$Upassword['Upassword']; 
    $row_area=$area['area']; 
    mysql_select_db($database_1,$link); 
    $sql_2="insert into b(cid,username,Upassword,area) 
          values('$row_cid','$row_user','$row_upa','$row_area')"; 
    mysql_query($sql_2); } 
    ?>
      

  11.   

    你的方法为什么我写进去时$rw[\'username\']类似这个下面有红曲线,好像格式不对,