2012-10-10 64 views
0

我收到的錯誤:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「釋放= 2012-09-02,平臺= Android,鏈接=`play.php遊戲= G?」第6行使用UPDATE/SET的SQL語法錯誤

代碼正確的語法手冊:

$sql = "UPDATE 
      GameInformation 
     SET 
      keyIndex=`GameTest`, 
      name=`Game Test`, 
      release=`2012-09-02`, 
      platforms=`Android`, 
      link=`play.php?game=GameTest`, 
      icon=`img/thumb_gametest.png`, 
      thumb=`img/thumb_mini_gametest.png`, 
      swf=`swf/GameTest.swf`, 
      height=`500`, 
      width=`920` 
     WHERE 
      keyIndex=`GameTest2`"; 

$query = mysql_query($sql); 

if (!$query) exit (mysql_error()); 

我一直在嘗試不同的分隔符(大括號,撇號,引號)在我的設置變量周圍沒有用。這裏有一個保留字嗎?

更新[解決],糾正代碼:。

$sql = 'UPDATE 
          `GameInformation` 
         SET 
          `keyIndex`="GameTest", 
          `name`="Game Test", 
          `release`="2012-09-02", 
          `platforms`="Android", 
          `link`="play.php?game=GameTest", 
          `icon`="img/thumb_gametest.png", 
          `thumb`="img/thumb_mini_gametest.png", 
          `swf`="swf/GameTest.swf", 
          `height`="500", 
          `width`="920" 
         WHERE 
          `keyIndex`="GameTest2"'; 
      $query = mysql_query($sql); 
      if (!$query) exit (mysql_error()); 
+1

你有tr用'\?'逃避'?'? – Horen

+0

如果你拿出發佈區域,它是否運行沒有錯誤?什麼類型的發佈?我在想這是一個日期格式問題。 –

回答

5

你應該用'對錶和列名和「或」內容釋放是一個reserved word

UPDATE 
      `GameInformation` 
     SET 
      `keyIndex`="GameTest", 
      `name`="Game Test", 
      `release`="2012-09-02", 
      `platforms`="Android", 
      `link`="play.php?game=GameTest", 
      `icon`="img/thumb_gametest.png", 
      `thumb`="img/thumb_mini_gametest.png", 
      `swf`="swf/GameTest.swf", 
      `height`="500", 
      `width`="920" 
     WHERE 
      `keyIndex`="GameTest2" 
+0

完美。謝謝! –