比如我有两个数据库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"; 下面是我自己写的一段PHP
<?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就自动增长一次,其它都为空,为什么是这样,那个地方要改

解决方案 »

  1.   

    $sql="insert into a(cid,username,Upassword,area) 
        values('$row_user->cid','$row_user->username','$row_upa->Upassword','$row_area->area');"; echo $sql看一下你的这个$sql 的内容到底是什么?
      

  2.   

    我是想把上面取出来的弄成数组,然后插到这个表上去,values('$row_user->cid','$row_user->username','$row_upa->Upassword','$row_area->area');";这句要怎改,
      

  3.   

    我自己搞定了,哈哈<?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);

    }
    ?>