2010-10-10 2 views
0

Мне сложно найти ошибку, существующую в моем скрипте. Может ли кто-нибудь помочь мне определить это?Ошибка PHP-SQL Ошибка синтаксиса

 case "process_movie_order": 
     // handle POST 
     if ($_POST) { 
      //Drop "order" column and Re-ADD it to reset ID #'s 
      $droppedresult = mysql_query("ALTER TABLE videos DROP COLUMN order"); 
      $addedresult = mysql_query("ALTER TABLE videos ADD order int NOT NULL"); 
      $totalMovies = count($_POST['movie']); 
      // use $i to increment the order number 
      $i=$totalMovies; 
      // loop through post array in the order it was submitted 
      foreach ($_POST['movie'] as $video_id) { 
       // update the row      
       $query = sprintf("UPDATE videos SET order='%s' WHERE video_id='%s'", 
        mysql_real_escape_string($i), 
        mysql_real_escape_string($video_id)); 

       $result = mysql_query($query); 

       if(!$result) { 
        echo mysql_error(); 
        echo 'MySQL query failed. Please report this error to the author of this script.<br /> 
         <br /> 
         <a href="'.$script_location.'?action=show_landing_page">Back</a><br />'; 
        break; 
       }    
       // decrease order number to make the next movie lower 
       $i--; 
      } 
     } 

У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'order = '55' WHERE video_id = 'video55' 'по строке 1

Спасибо!

ответ

2

заказ - это зарезервированное ключевое слово в MySQL. Вместо этого вы должны указать имя столбца. Положите backticks вокруг «порядка».

+0

Doh! Ошибка новичков. Благодаря! –

Смежные вопросы