热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqlinsert语句在while语句中只添加1条记录

如何解决《mysqlinsert语句在while语句中只添加1条记录》经验,为你挑选了1个好方法。

我有这个代码(参见下文)

$sql = "SELECT * FROM records";
$result = mysqli_query($this->db,$sql);

while($row = mysqli_fetch_assoc($result)){
    $itemid = $row['id'];
    $itemname = $row['itemname'];
    $itemdesc = $row['itemdesc'];
    $brand = $row['brand'];
    $serialno = $row['serialno'];
    $nostock = $row['nostock'];
    $price = $row['price'];
    $Onsale= $row['onsale'];
    $poster = $row['poster'];
    $thedate = $row['thedate'];

    $sql = "INSERT INTO backupp SET id='$itemid', itemname='$itemname', itemdesc='$itemdesc', brand='$brand', serialno='$serialno', nostock='$nostock', price='$price', Onsale='$onsale', poster='$poster', thedate='$thedate'";
    $result = mysqli_query($this->db,$sql) or die(mysqli_error($this->db));
    return $result;
}

从上面的代码中可以看出,它将首先从名为"records"的db表中提取所有数据,然后将每一行放入相应的变量中,然后插入存储的数据(那些已从db表名中提取的数据)将"并存储在那里的相应变量"记录到名为"backupp"的db表中.现在,问题是,它只添加一条备份记录(首先被拉出的记录),据说它应该将所有从db表命名记录中提取的记录添加到db table named backup.为什么??任何建议,建议,线索和想法将不胜感激.谢谢!

PS:它像导出和导入到具有相同结构的其他表但我有我自己的理由为什么我想这样做并假设我已经成功连接到一个名为"库存"的数据库($ this-> db)并且有db表名称,例如"records"和"backupp"具有相同的结构.



1> David Kmenta..:

您可以通过这种方式轻松备份相同的表: INSERT INTO backupp SELECT * FROM records


您也可以为列命名..`INSERT INTO backupp(itemname,itemdesc)SELECT itemname,itemdesc FROM records` ..当然,每个表中的名称可以不同.
推荐阅读
author-avatar
非常异族图腾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有