首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php和json将数据从一个数据库传输到另一个数据库。

问使用php和json将数据从一个数据库传输到另一个数据库。
EN

Stack Overflow用户
提问于 2014-01-28 22:28:12
回答 2查看 1.6K关注 0票数 1

我想使用PHP和JSON将数据从一个数据库传输到另一个数据库。第一个MySQL连接获取并打印数据(正在工作),但是第二个MySQL连接没有在第二个数据库中插入数据。我不知道如何执行INSERT查询来开始填充另一个数据库(从json encode检索数据)。

这是我从第一个数据库中得到的:

代码语言:javascript
复制
[{"0":"1","productid":"1","1":"0","parent":"0","2":"","language":"","3":"iPod Shuffle","prodname":"iPod Shuffle","4":"1","prodtype":"1","5":"","prodcode":"","6":"","prodfile":"","7":"

下面是我更新的代码:

代码语言:javascript
复制
<?php 

include 'config/config.php';
//include(dirname(__FILE__) . "/settings.inc.php");


//database 1
$data = array();

$conn = @mysql_connect($GLOBALS['VCS_CFG']["dbServer"],$GLOBALS['VCS_CFG']["dbUser"], $GLOBALS['VCS_CFG']["dbPass"]);
if ($conn){
    if (mysql_select_db($GLOBALS['VCS_CFG']["dbDatabase"])) {
        $SQL = "SELECT * FROM vc_products";
        $q = mysql_query($SQL);

        while($row = mysql_fetch_array($q))
        {
            $json_output[] = $row;
        }
        echo json_encode($json_output);
        $data =  json_encode($json_output);                
    }
    mysql_close($conn);
}


 // database 2

$con = @mysql_connect($GLOBALS['_DB_SERVER_'],$GLOBALS['_DB_USER_'], $GLOBALS['_DB_PASSWD_']);
if ($con) { 
    if (mysql_select_db($GLOBALS['_DB_NAME_'])) {


        $sql = "INSERT INTO ps_order_detail(product_name) VALUES('".$data[0][8]."')";  
        $Q = mysql_query($sql);

        foreach ($data as $key => $value)
        {

           $Q -> bind_param(
                  's',   // the types of the data we are about to insert: s = string ( i = int )
                   $value['prodname']

           ); 

            $Q->execute();

        }
         $Q->close();
    }           
     mysql_close($conn);
}  

?>
EN

回答 2

Stack Overflow用户

发布于 2014-01-28 22:40:29

我没有看到您正在执行任何插入查询?您只是在构建字符串。

票数 1
EN

Stack Overflow用户

发布于 2014-01-28 22:39:13

几个问题:

  • 您正在进行两次编码,而不是编码和解码;
  • 您需要添加错误处理(PDO和mysqli可以抛出异常,非常有用);
  • 您需要去掉错误抑制运算符sql应该切换到PDO或mysqli和预准备语句,以避免mysql_*注入问题,并且因为mysql_*函数已被弃用。

没有关系,但是当您真的想要使用原始数组时,为什么还要在同一个脚本中编码和解码为json呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21408294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档