我试图将数据从一个表插入到另一个表,这是我得到的错误消息:
错误:插入content2 (d1,d2,d3)值(John,Doo,24); “字段列表”中未知列“John”:插入content2 (d1,d2,d3)值(Mary,Moe,36); “字段列表”中未知列'Mary‘错误:插入content2 (d1,d2,d3)值(朱莉,杜利,42岁) ‘字段列表’中未知列'Julie‘错误:插入到content2 (d1,d2,d3)值中(John,Doo,24); “字段列表”中未知列“John”:插入content2 (d1,d2,d3)值(Mary,Moe,36); ‘字段列表’中未知列'Mary‘错误:插入content2 (d1,d2,d3)值(朱莉,杜利,42岁); “字段列表”中未知列“Julie”
这里是我的php代码:
//Get Connection
require_once('connect.php');
//Get Data
$sql = "SELECT d1, d2, d3 FROM content";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$row1 = $row["d1"];
$row2 = $row["d2"];
$row3 = $row["d3"];
//Insert Data to another table
$sql = "INSERT INTO content2 (d1, d2, d3)
VALUES ($row1, $row2, $row3);";
if (mysqli_multi_query($con, $sql)) {
echo "New records created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
//echo "id: " . $row["d1"]. " - Name: " . $row["d2"]. " " . $row["d3"]. "<br>";
}
} else {
echo "0 results";
}我不知道是什么问题。请帮帮忙
发布于 2015-07-09 16:13:22
当PHP将插入查询发送到MySQL时,结果如下所示:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);因为“约翰”、“玛丽”和“朱莉”周围没有引号,所以MySQL认为你指的是其他的专栏名称。快速而肮脏的解决方案是向查询中添加引号,但正如@tadman所言,您不应该使用这种查询样式,而应该使用bind_param将变量添加到查询中。
但是,如果您只想从一个表复制到另一个表,就像@Dan所说的那样,您可以使用一个查询来完成这个任务:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content发布于 2015-07-09 16:10:56
这可以用直接的sql来完成。
insert into content2
(d1, d2, d3)
select d1, d2, d3
from contenthttps://stackoverflow.com/questions/31322734
复制相似问题