2012-01-17 1 views
0

У меня есть запрос MySQL следующим образом:MySql ошибка вставки

$sql = " 
     INSERT INTO 
      tbl_stopage 
     SET 
      bus_id = '$bid', 
      stopage_name = '$info[stopage_name]', 
      fare = '$info[fare]', 
      from = 'Ghy' 
    "; 

Но когда я попытался выполнить приведенный выше запрос, он показывает следующее сообщение об ошибке:

DB Error. 
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 'from = 'Ghy'' at line 7 
INSERT INTO tbl_stopage SET bus_id = '1', stopage_name = 'Dergaon', fare = '123', from = 'Ghy' 

ответ

4

в SQL FROM является зарезервированным попробуйте использовать from с соответствующими символами escape-кода mySQL, которые, я считаю, являются `.

Кроме того, являются ли все числовые значения действительными числами в базе данных? если так вам не нужны тики («) вокруг них.

В целом, если не слишком поздно, вы можете избежать будущих headaces просто путем изменения таблицы не использовать ключевые слова, такие, как FROM, SELECT, WHERE, GROUP BY, ORDER BY и т.д.

+0

Спасибо xQbert, я изменил 'from' на' source_station', и это сработало. – Nitish

1
$sql = "INSERT INTO 
     tbl_stopage (`bus_id`,`stopage_name`,`fare`,`from`)    
     VALUES ('$bid','$info[stopage_name]','$info[fare]','Ghy')"; 

Но это лучше использовать подготовленные заявления.