初心者PHPとMySQLがここにあります。私はここで他の記事を見てきましたが、私が後に書いたコードをまとめてみましたが、2つの配列の内容をMySQLテーブル内の2つの列に挿入するのに苦労しました。PHP配列がMySQLテーブルに挿入されます
|-------|-------|-------|
| id | date | value |
|-------|-------|-------|
IDを主キーがAUTO_INCREMENTが設定されている - 以下のように
MySQLのテーブルは、3つの列に構成されています。 日付は日付のデータ型です。 値は10進(5,2)データ型です。
私は、次を含む2つのPHPの配列$dates
と$values
持っている -
$mydates = serialize($dates);
$myvalues = serialize($values);
マイ挿入ステートメント - 私は前に私のINSERTクエリには、2つの新しい変数にシリアライズされたデータをしました
echo '<pre>'; print_r($dates); echo '</pre>';
Array
(
[0] => 2015
[1] => 2014
[2] => 2013
[3] => 2012
[4] => 2011
[5] => 2010
[6] => 2009
[7] => 2008
[8] => 2007
[9] => 2006
[10] => 2005
[11] => 2004
[12] => 2003
[13] => 2002
[14] => 2001
[15] => 2000
[16] => 1999
[17] => 1998
[18] => 1997
[19] => 1996
[20] => 1995
[21] => 1994
[22] => 1993
[23] => 1992
[24] => 1991
[25] => 1990
[26] => 1989
[27] => 1988
[28] => 1987
)
echo '<pre>'; print_r($values); echo '</pre>';
Array
(
[0] => 52.32
[1] => 98.97
[2] => 108.56
[3] => 111.63
[4] => 111.26
[5] => 79.61
[6] => 61.74
[7] => 96.94
[8] => 72.44
[9] => 65.16
[10] => 54.57
[11] => 38.26
[12] => 28.85
[13] => 24.99
[14] => 24.46
[15] => 28.66
[16] => 17.9
[17] => 12.76
[18] => 19.11
[19] => 20.64
[20] => 17.02
[21] => 15.86
[22] => 17.01
[23] => 19.32
[24] => 20.04
[25] => 23.76
[26] => 18.23
[27] => 14.91
[28] => 18.53
)
を
$query = "INSERT INTO eia(date,value) VALUES ('$mydates','$myvalues')";
いくつかのエラーハンド玲 -
if ($conn->query($query)) {
$msg = ...Sucessfully Entered!
} else {
$msg = ...Error Entering!
}
if (isset($msg)){
echo $msg;
}
if (!$conn->query("INSERT INTO eia(date,value) VALUES ('$mydates','$myvalues')")) {
printf("Errormessage: %s\n", $conn->error);
}
そして、最終的に接続を閉じる -
mysqli_close($conn);
これは私が「が正常に入力した」というメッセージを受け取るが、MySQLのテーブルを検査する上で、私はちょうど、次の2つの行を取得実行すると -
id | date | value
1 |{null}| 0.00
2 |{null}| 0.00
任意のアイデアを、私は、各列すなわち
に加え、これらの配列の内容を取得する方法id | date | value
1 | 2015 | 52.32
2 | 2014 | 98.97
...
ありがとうございます。
if ($conn->query($query)) {
と
if (!$conn->query("INSERT INTO eia_brent(eiaDate,eiaValue) VALUES ('$mydates','$myvalues')")) {
あなたはnull
を取得し、:
_「データを2つの新しい変数にシリアル化しました」という意味は全くありません。また、新しいレコードでNULL/0.00を取得する理由もあります。これらの配列をシリアル化すると、日付または小数点のどちらの書式とも一致しない_strings_が作成されるためです。 – CBroe
@CBroeはフィードバックに感謝します。ここで行ったエラーが表示され、エラーが発生しました。 – CRC