Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多维数组插入语句_Php_Mysql - Fatal编程技术网

Php 多维数组插入语句

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

对于一个项目,我通过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=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