我可以在PHP中的$ var中创建另一个表中的表

时间:2013-11-24 13:40:22

标签: php mysql sql

如下所示,我'从表中的变量中获取一些数据并且我可以我试图在另一个数据库中创建一个新表(当然在同一个主机中)。该表永远不会创建,我甚至不知道它是否可能。

请注意,我只能将user1连接到db1,将user2连接到db2,这就是我尝试这些东西的原因。

有任何帮助吗?

mysql_connect("localhost:3036", "user1", "pass1")or die("cannot connect"); 
mysql_select_db("db1")or die("unable to select db1");// connect to db1 as user1

$takedata="SELECT ID, post_date, post_content, guid 
    FROM `db1`.`wp_posts`"; // in var $takedata , I save the query


$result_new=mysql_query($takedata); //execute the query 

if($result_new){
echo "data from db1 taken sucsessfully";
echo "<BR>";

}

else {
echo "ERROR taking data from db1";
echo "<BR>";
}


mysql_close(); // close connection with db1

mysql_connect("localhost:3036", "user2", "pass2")or die("cannot connect"); 
mysql_select_db("db2")or die("unable to select db2");// connect to db2 as user2

$sql="CREATE TABLE `db2`.`newtable`  AS (`$result_new`)"; //Here is the tricky part
            //I'm trying to create table in db2 with the data
                                   //I took from db1.

$result=mysql_query($sql);


if($result){
echo "Table newtable Created";
echo "<BR>";

}

else {
echo "ERROR Creating Table newtable";
echo "<BR>";
}

mysql_close(); // close connection with db2

1 个答案:

答案 0 :(得分:0)

你的代码没有意义,因为我不知道$ result_new将包含什么。 create table命令需要特定的语法。

但是,我可以回答你的问题:

  

该表永远不会创建,我也不知道是否可能。

您不知道是否未正确查询错误的原因。使用mysql_error()函数执行此操作。

if($result){
   echo "Table newtable Created";
   echo "<BR>";

}

else {
   echo "ERROR Creating Table newtable : ";
   echo mysql_error();
   echo "<BR>";
}