Php 检索所有记录并从另一个数据库插入另一个表

Php 检索所有记录并从另一个数据库插入另一个表,php,mysql,Php,Mysql,我对php和mysql有一些问题。我必须从DB1的表中检索所有记录,然后再次将它们插入DB2的表中 <?php require_once 'includes/config.php'; include 'includes/header.php'; if(isset($_POST['go'])){ $query = mysql_query("SELECT id,username,password FROM $db_database1.account")

我对php和mysql有一些问题。我必须从DB1的表中检索所有记录,然后再次将它们插入DB2的表中

<?php
require_once 'includes/config.php';
include 'includes/header.php';
if(isset($_POST['go'])){        
    $query = mysql_query("SELECT id,username,password FROM $db_database1.account")
        or die(mysql_error());

    echo "Record ".mysql_num_rows($query)." retrieve";

    while($result_row = mysql_fetch_array($query, MYSQL_ASSOC)){
        $account_ID = $result_row['id'];
        $username = $result_row['username'];
        $password = $result_row['password'];
        $query = mysql_query("INSERT INTO $db_database2.account(uid,username,password) VALUES('$account_ID','$username','$password')")
            or die(mysql_error());
        $selectId = mysql_insert_id();
    }
}
mysql_close($conn);
?>
<div class="wrapper">
<div class="content">
<form method="post" action="<?PHP $_SERVER['PHP_SELF'];?>">
<input type="submit" name="go" value="Go" />
</form>
</div>
<?php include 'includes/footer.php';?>


根据该代码,只插入了一条记录。如何插入所有检索到的记录?

要将记录插入到另一个表中,需要一个查询,请在不使用PHP的情况下从mysql控制台运行:

INSERT INTO db_database2.account SELECT id,username,password FROM db_database1.account
关于代码的注释

  • 必须对添加到查询中的字符串进行转义
  • 由于某些原因,您正在插入同一数据库
  • 请求mysql\u insert\u id()毫无意义,因为您显然已经在插入一个\u i id了
  • 将第二个mysql_查询结果存储到变量中是没有用的

  • 但是这个变量被覆盖了,它的查询在我的程序中不起作用,因为我需要在db_database.account中插入哈希密码,这就是为什么我在php中使用:Dyou也可以在同一个查询中哈希密码。你甚至不需要另一个表来实现这一点。你可以在同一个表中散列你的过程。散列方法是自定义的,我认为它不能用于mysql queryoh,你使用的是非常安全的自定义散列。非常明智的决定。这会让你的网站防御变得难以攻破。-1用于询问你真正需要答案的实际问题。
    UPDATE account SET password = md5(concat(id,username,password));