【发布时间】:2011-11-25 08:26:21
【问题描述】:
看下面的代码,有两个数据库连接。
首先它从第一个连接获取数据,然后插入到第二个数据库连接,但它不会插入 - 我可以说 Unknown column 'fullname' in 'field list' 的错误
当我在 phpMyAdmin 中手动尝试 SQL 查询时,它工作正常......
$db_new = mysql_connect('localhost', 'root', 'password');
if (!mysql_select_db("menu_new", $db_new)) {
die("Cant connect menu_new DATABASE");
}
$db_old = mysql_connect('localhost', 'root', 'password');
if (!mysql_select_db("old_menu", $db_old)) {
die("Cant connect old_menu DATABASE");
}
$SQL_old = "SELECT * FROM old_table";
$q = mysql_query($SQL_old, $db_old);
while ($row = mysql_fetch_assoc($q)) {
$name = $row['name'];
$SQL = "INSERT INTO tbl_name (fullname) values ('$name')";
//Problem Here - It wont insert into second database
mysql_query($SQL, $db_new) or die(mysql_error($db_new));
}
【问题讨论】:
-
表
tbl_name是否有一个名为fullname的列? -
你确定这是因为连接吗?该列是否存在于新表中?你1000%确定?
-
你能在连接到 db_new 之后马上试试这个吗?
mysql_query("INSERT into menu_new.tbl_name (fullname) values ('1')", $db_new) or die(mysql_error($db_new));- 为什么你的数据库名称old_menu在一个,而menu_new在另一个?不是new_menu? -
@Konerak 在 db_new 连接之后确实有效
-
好的,谢谢,这很有用。所以数据库、表和列实际上存在于 db_new 中!抱歉@Icarus - 我也刚刚赞成这个问题。好奇!