このように構造化された長い配列 $prices があります
Array
(
[Fund] => BGEF
[Class] => G
[Currency] => CAD
[NAV] => 8.6442
[NavChange] => 0.0431
[PriceDate] => 2013-05-01
)
Array
(
[Fund] => BGOF
[Class] => G
[Currency] => EUR
[NAV] => 12.1503
[NavChange] => 0.0226
[PriceDate] => 2013-05-01
)
Array
(
[Fund] => BIEF
[Class] => G
[Currency] => USD
[NAV] => 9.6914
[NavChange] => 0.0635
[PriceDate] => 2013-05-01
)
対応する行で作成されたmysqlテーブルに入れたいです。Fund_id,class,currency,nav,nav_change,price_date
行を複数のデータベース行に挿入する私の最新の試みは次のとおりです
$mysqli = new mysqli( "localhost", "user", "pw","db" );
if( $mysqli->connect_errno ){
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$mysqli->select_db("db");
foreach($prices as $rows){
$sql = " INSERT INTO price_data( price_date,fund_id,currency_id,class_id,nav,nav_change )
VALUES ( $rows[PriceDate] , $rows[Fund] , $rows[currency] , $rows[Class] , $rows[NAV] , $rows[NavChange] ) " ;
$stmt = $mysqli->prepare($sql);
$stmt->execute();
}
現在、これは致命的なエラーを返しています: 非オブジェクトでメンバー関数 execute() を呼び出します。ループがどこに行くのか、これがデータにアクセスするための適切な種類のループであるかどうかなど、mysqli アプローチに関する (明らかに) いくつかのことについては明確ではありません。
どんな助けでも素晴らしいでしょう、ありがとう。