メッセージが表示されます:
You have an error in your SQL syntax;check the manual that corresponds
to your MySQL server version for the right syntax to use near
'12:00,25.32,1015.19,42.32,200.0,1.29,2.25,7.11,11.58,5.97,3.5,0.0,0.0,0.0,0.0,37'
at line 2
関連コード:
$con = mysql_connect("127.0.0.1", "username", "password") or die(mysql_error());
mysql_select_db("database",$con) or die (mysql_error());
//readFmi() returns an array of strings with values separated by commas
$array = readFmi($xml);
$cols = 'date, Temperature, Pressure, Humidity, WindDirection, WindSpeedMS,
MaximumWind, WindGust, DewPoint, TotalCloudCover, LowCloudCover, MediumCloudCover,
HighCloudCover, Precipitation1h, PrecipitationAmount, RadiationLW, RadiationGlobal,
RadiationNetTopAtmLW';
foreach($array as $a){
$a2 = mysql_real_escape_string($a);
echo $a2."<br>";
mysql_query("INSERT INTO forecastsFMI ($cols)
VALUES ($a2)") or die (mysql_error());
}
mysql_close($con);
$a を印刷すると、次のようになります
2013-06-24 12:00,25.32,1015.19,42.32,200.0,1.29,2.25,7.11,11.58,5.97,3.5,0.0,0.0,0.0,0.0,375.85,550.09,-260.6
$cols は、データベースのテーブルにあるものとまったく同じです。今のところ、間違いを犯した場所を見つけようとして、すべてを varchar に設定しました。私はデータベース内のフィールドと値を数えて、それが間違っているかどうかを確認し、文字列自体の形式を変更しようとし、コードのさまざまな部分を変更して微調整しようとしましたが、結果に違いはありませんでした。何が原因でしょうか?
ありがとう//トバイアス