2013-05-15 20 views
-2

Я не могу понять, что удерживает этот код для вставки данных в mysql. Я продолжаю эту ошибку при попытке вставить код «Вставить проблему: у вас есть ошибка в ваш синтаксис SQL, проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, чтобы использовать значения «order (f_name)» ('') 'в строке 1 ". Пожалуйста, ПОМОГИТЕ. Пожалуйста, используйте упрощенный язык, поскольку я совершенно новый в этой области.Ошибка синтаксиса sql при вставке данных в базу данных

<div class="order_form"><form action="buy.php" method="post"> 

<table width="330" border="0"> 
<tr> 
<td colspan="2" height="30" bgcolor="#705a6b"><div align="center" class="style4">Order Foram 

</div></td> 
</tr> 
<tr> 
<td width="102" height="30">First Name* </td> 
<td width="227" style="border:solid; border-color:#CC99FF; border-width:1px; "><input name="f_name" type="text" size="40" maxlength="100"/></td> 
</tr> 
<tr> 
<td height="30"><input name="submit" type="submit"/></td> 
</tr> 

</table> 
</form>  

<?php 
if (isset($_POST['submit'])) 
{ 

$f_name = mysql_real_escape_string($_POST['f_name']); 

$que="insert into order (f_name) values ('$f_name')"; 

if (mysql_query($que)) 

{ 

echo "say something"; 

} 

else { 

die("Insert Problem: " . mysql_error());  

} 
} 

?> 
</div>   
+0

выглядит как '$ f_name' is' ''' – karthikr

+2

'order' является зарезервированным словом в SQL. Если вам действительно нужно его использовать, процитируйте его с помощью обратных ссылок. Но вам следует избегать использования зарезервированных слов в качестве имен таблиц и столбцов, если это вообще возможно. – andrewsi

+0

Добавьте следующие строки кода ... '$ que =" insert в значения порядка (f_name) ('$ f_name') "; echo ($ que); return; ' И скажите нам, что эхо. Это значительно упростит вашу проблему. –

ответ

2

ORDER в MySQL reserved word и должен быть окружен, чтобы обратные кавычки быть использованы в качестве имени таблицы или колонки;

$que="insert into `order` (f_name) values ('$f_name')"; 
+1

Спасибо так много Bro .. Раньше я раздражался, когда я что-то искал и получал максимальное количество результатов от «stackoverflow», теперь я чувствую себя виноватым в этом ... Спасибо еще раз, чтобы сэкономить свое время. – user2386781

0

Изменить вы запрашиваете к этому:

$que="insert into `order` (`f_name`) values ('$f_name')"; 

Обратите внимание на backtickes. некоторые слова типа order зарезервированы в sql-запросах.

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