gpt4 book ai didi

php - 获取多个表的列名并插入到另一个表+ PHP MySQL

转载 作者:行者123 更新时间:2023-11-29 09:04:15 25 4
gpt4 key购买 nike

我有这个代码:

$createFields="CREATE TABLE temp_field (fld text NOT NULL, tablename char(50) NOT NULL)";   
mysql_query($createFields);

$fields=array();

$campaign=mysql_query("SELECT campaignid FROM campaign ORDER BY campaignid");

while($row=mysql_fetch_array($campaign)){

$table="'campaign_".$row['campaignid']."'";

$temp_field="SELECT COLUMN_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=".$table;

$temp_fieldquery = mysql_query($temp_field);

while($rowL=mysql_fetch_array($temp_fieldquery)){

$fields[]="'".$rowL['COLUMN_NAME']."'";

}
$field=implode(",",$fields);

$insertFields='INSERT INTO temp_field (fld,tablename) VALUES ("'.$field.'","'.$table.'")';

mysql_query($insertFields);

我需要这样的输出:

fld                       | tablename
=====================================
fld1,fld2,fld3,fld4... | table1
fld1,fld2,fld3,fld4... | table2

但我得到的是:

fld                                          | tablename
========================================================
fld1,fld2,fld3,fld4... | table1
fld1,fld2,fld3,fld4,fld1,fld2,fld3,fld4... | table2

第二个表获取第一个表的值

我的代码做错了什么,请帮忙

最佳答案

只需在 while 循环之前初始化您的 $fields 数组即可。

$fields = array();
while($rowL=mysql_fetch_array($temp_fieldquery)){
$fields[]="'".$rowL['COLUMN_NAME']."'";
}
$field=implode(",",$fields);

您的代码中发生的情况是,由于 $fields[]$fields 数组继续为每个后续表添加新字段,因此重置为新数组应该修复它。

关于php - 获取多个表的列名并插入到另一个表+ PHP MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7550154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com