对于一个项目我通过JSON查询比特币交易所的API,我试图将其导入到mysql数据库中。
结果的简单var_dump给出了以下内容:
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,LowestAsk,HighestBid,PercentChange,BaseVolume,QuoteVolume,IsFrozen,其中所有都是INT(50),但是'Pair'列是VARCHAR(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插入数据库?
答案 0 :(得分:1)
似乎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();
}