我想使用PHP和JSON将数据从一个数据库传输到另一个数据库。第一个MySQL连接获取并打印数据(正在工作),但是第二个MySQL连接没有在第二个数据库中插入数据。我不知道如何执行INSERT查询来开始填充另一个数据库(从json encode检索数据)。
这是我从第一个数据库中得到的:
[{"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":"下面是我更新的代码:
<?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);
}
?>发布于 2014-01-28 22:40:29
我没有看到您正在执行任何插入查询?您只是在构建字符串。
发布于 2014-01-28 22:39:13
几个问题:
mysql_*注入问题,并且因为mysql_*函数已被弃用。没有关系,但是当您真的想要使用原始数组时,为什么还要在同一个脚本中编码和解码为json呢?
https://stackoverflow.com/questions/21408294
复制相似问题