2012-03-30 77 views
0

我正在做一个PHP脚本以便在表中插入从表B中恢复的值(A和B在不同的数据库中)。用另一个查询返回的值直接插入(PHP)

Table A Columns 
[index(autoincrement),timestamp(currenttimestamp),col1,col2,.....col15] 

和我对的B检索值的查询:

$query= "select count(*) as col1, XXX as col2.....ZZZ as col15 from B"; 

所以具有

$row=$mysql_fetch_array($result) 

其中

$result=mysql_query($query) 

我怎样才能使一个

insert into A (col1,col2.....col15) values ($row['col1'],....$row['col15']; 

轻松无需编写所有代码?谢谢

回答

4
Insert into db1.A (col1, col2, col3) SELECT col1, col2, col3 FROM db2.B 
+0

对不起,我忘了说这两个表都在不同的数据库 – Addev 2012-03-30 19:18:33

+0

相同的服务器/用户?如果是这样我已经更新了我的答案。否则,你将不得不纠正我认为的PHP代码 – haltabush 2012-03-30 19:20:41

2

如果您必须跨不同服务器上的数据库传输数据,则可以使用sprintf和implode生成查询。

$query = sprintf('INSERT INTO table_name (%s) VALUES ("%s")', implode(', ', array_map('mysql_escape_string', array_keys($row))), implode('", "',array_map('mysql_escape_string', $row)));