2014-10-17 82 views
0

我的代碼似乎有一個sytax錯誤,但看不到原因。你的SQL語法有錯誤 - 無法找到錯誤

這行是在這裏:

mysqli_query($db,"INSERT INTO `horses` (`ParentID`,`Date`,`Track`,`Runners`, `Going`, `Distance`,`Class`,`Place`,`Losing_Dist`,`Stall`,`Horse`,`Weight`,`Trainer`,`Odds`,`Oddsmovement`,`Jockeys_Claim`,`Comments`,`Race_Name`)VALUES ('$id ',' $Thedate','$thecourse','$noinrace','$going','$distance','$class','$place','$distance_bt','$stall','$horse','$weight','$thetrainer','$odds','$oddsmovement','$thejockey','$comments','$event')")or die(mysqli_error($db)); 

而且完整的錯誤我得到的是這裏

您的SQL語法錯誤;在'Meara','22/1','25/1 < 22/1','D Nolan','','Royal'海軍陸戰隊員附近檢查使用 對應於您的MySQL服務器版本的正確語法使用 的手冊'在 線1

在它說該線附近是這樣的: '$ thetrainer',' $賠率, '$ oddsmovement', '$ thejockey'

數據庫被設置成所有字段都varchat(250)aparent從父母id和id是int

任何進一步的信息,請讓我知道

+1

刪除了SQL Server標記,因爲這是關於MySQL – Lamak 2014-10-17 14:42:25

+0

看看整個查詢 – 2014-10-17 14:58:24

+0

我刪除了'$ id'中的空格,但仍然給出錯誤 – 2014-10-17 15:04:33

回答

1

這應該工作,如果在你的PHP變量的值是有效的:

mysqli_query($db,"INSERT INTO horses (Date,Track,Runners,Going,Distance,Class,Place,Losing_Dist,Stall,Horse,Weight,Trainer,Odds,Oddsmovement,Jockeys_Claim,Comments,Race_Name) VALUES ({$Thedate},{$thecourse},{$noinrace},{$going},{$distance},{$class},{$place},{$distance_bt},{$stall},{$horse},{$weight},{$thetrainer},{$odds},{$oddsmovement},{$thejockey},{$comments},{$event})")or die(mysqli_error($db)); 

就像在評論中提到以上,如果這是一個公共頁面,您應該保護再次SQL注入有幾種技術只是如果你google一下不知道如何。