我现在很茫然。

我有一个mysqli_result:

        $stmt = $db->prepare("SELECT * FROM customer");
        $stmt->execute();
        $result = $stmt->get_result();


是否可以直接用此结果执行INSERT? (数据需要在另一个数据库中传输),例如... $ another_db-> insert($ result),或者至少将整个结果对象转换为简单的Mysql插入字符串,而无需遍历结果。

谢谢!

最佳答案

好吧,我这样做是一种解决方法:

        $stmt = $db->prepare("SELECT * FROM customer");
        $stmt->execute();
        $result = $stmt->get_result();
        $newsql="";
        while($row =  $result->fetch_object())
        {
            $newsql = "INSERT INTO customer VALUES (";
            foreach($row as $key => $value)
            {
                $newsql .=  "'".mysqli_real_escape_string($db,$value)."',";
            }
            $newsql = substr($newsql,0,-1);
            $newsql .="); ";
        }
        // $newsql can be inserted.

07-27 21:15