-2
我得到的消息:MySQL數據庫的SQL語法錯誤的PHP
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);
$一個在打印時看起來像這樣
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,同時試圖找出我犯了我的錯誤的地方。我一直在計算數據庫和值的字段,看看是否出現錯誤,嘗試更改字符串本身的格式,並嘗試更改和調整代碼的不同部分,結果沒有任何差異。什麼可能導致這個?
謝謝 //托比亞斯
看看錯誤信息中的第一件事。它說'12:00'。周圍沒有引號,而12:00不是一個有效小數的格式。 –
把它們作爲字符串。換句話說 - 引用$ a2變量 –
您也可以更好地使用反引號引用列名 - date是mysql中的保留字。 – andrewsi