$temp_address=$_POST["address"];
//echo ;
$ids=$_POST["id"];
$sql = "INSERT INTO TestData (Id,Address, Lat_of_house, Long_of_house, Lat_of_obs, Long_of_obs, ans)
VALUES ($ids, $temp_address, $latHouse, $lngHouse,$latObs,$lngObs, $ans)";
(uptill here..code)檢查對應於你的MySQL服務器版本正確的語法錯誤手動
當我嘗試回聲temp_address的價值它輸出右值。
當我對數據庫中的地址列進行硬編碼時,它將再次存儲正確的值。只有當我嘗試將temp_address存儲在數據庫中時(如上所示),它纔會顯示語法錯誤。我使用varchar(255)作爲地址列的數據類型。 那種地址值的我想存儲包括 - 「201加利福尼亞州大道,賓夕法尼亞州匹茲堡」 和特定錯誤我得到的是:
Error: INSERT INTO TestData (Id,Address, Lat_of_house, Long_of_house, Lat_of_obs, Long_of_obs, ans) VALUES (54, 201 California Ave, Pittsburgh, PA, 40.503636, -80.07327099999998,40.50366484227394,-80.07328441104505, 3.4016586537572553) 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 'California Ave, Pittsburgh, PA, 40.503636, -80.07327099999998,40.50366484227394,' at line 1
未加引號的字符串 –
'$ temp_address'是一個字符串嗎?字符串需要引用,你也可以使用這個SQL注入。 – chris85