Php 多维数组插入语句
对于一个项目,我通过JSON查询比特币交易所的API,并试图将其导入mysql数据库 结果的简单var_转储提供了以下信息:Php 多维数组插入语句,php,mysql,Php,Mysql,对于一个项目,我通过JSON查询比特币交易所的API,并试图将其导入mysql数据库 结果的简单var_转储提供了以下信息: array (size=141) 'BTC_LTC' => array (size=7) 'last' => string '0.0235' (length=6) 'lowestAsk' => string '0.02359999' (length=10) 'highestBid' => string '0.0235' (length
array (size=141)
'BTC_LTC' =>
array (size=7)
'last' => string '0.0235' (length=6)
'lowestAsk' => string '0.02359999' (length=10)
'highestBid' => string '0.0235' (length=6)
'percentChange' => string '-0.00635047' (length=11)
'baseVolume' => string '8.60317949' (length=10)
'quoteVolume' => string '364.54762523' (length=12)
'isFrozen' => string '0' (length=1)
因此,我在表poloniex
中创建了以下列:
Pair,Last,lowstask,HighestBid,PercentChange,BaseVolume,quoteEvolume,除列'Pair'为VARCHAR(50)外,其余均为INT(50)
从数据结构中可以看出,该对可以派生为主键,其他组件可以派生自每行的第二个数组
到目前为止,我已将其查询到数据库中:
$stmt = $dbc->stmt_init();
$stmt->prepare("INSERT INTO `poloniex` (`Last`, `LowestAsk`, `HighestBid`, `PercentChange`, `BaseVolume`, `QuoteVolume`, `IsFrozen`) VALUES(?, ?, ?, ?, ?, ?, ?)");
foreach($ticker as $row)
{
$stmt->bind_param('ddddddi', $row['last'], $row['lowestAsk'], $row['highestBid'], $row['percentChange'], $row['baseVolume'], $row['quoteVolume'], $row['isFrozen']);
$stmt->execute();
}
$stmt->close();
$dbc是到本地mysqlserver的数据库连接
问题:如何将Pair插入数据库?似乎
Pair
是关键,请尝试:
foreach($ticker as $pair => $row)
然后使用$pair
。比如:
$stmt->prepare("INSERT INTO `poloniex`
(`Pair`, `Last`, `LowestAsk`, `HighestBid`, `PercentChange`, `BaseVolume`, `QuoteVolume`, `IsFrozen`)
VALUES(?,?, ?, ?, ?, ?, ?, ?)");
foreach($ticker as $pair => $row)
{
$stmt->bind_param('sddddddi', $pair, $row['last'], $row['lowestAsk'], $row['highestBid'], $row['percentChange'], $row['baseVolume'], $row['quoteVolume'], $row['isFrozen']);
$stmt->execute();
}
Pair
应该是什么?您是否正在尝试获取BTC_LTC?我有点困惑,你是如何得到这个价值的,你有什么麻烦。我看不出它是如何“派生”的。那张表上有主键吗?2.这是怎么一回事?3.“配对”到底是什么?4.为什么不将其与其余数据一起插入?这对数据实际上是BTC_LTC