странная ошибка sql - PullRequest
       1

странная ошибка sql

0 голосов
/ 14 октября 2011

У меня есть следующий код:

<!--ajouter une carte     -->
<?php
if($_POST["submit_dd"]){

    mysql_query("INSERT INTO data SET desc='".$_POST["carte_nom"]."' ") or die(mysql_error());



 }
?>

<b>Ajouter une carte:</b><br>
<form method="post">
<table>
<tr><td>nom</td><td><textarea name="carte_nom"/></textarea></td></tr>
<tr><td></td><td><input type="submit" name="submit_dd" value="Ajouter"/></td></tr>
</table>
</form>

Я получаю сообщение об ошибке из этого очень простого запроса:

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 'desc='dsfgsdfds'' at line 1

база данных очень проста: id (основной, автоинкремент), desc (текст)

привет

Ответы [ 4 ]

4 голосов
/ 14 октября 2011

Я могу ошибаться, но вы, вероятно, получаете сообщение об ошибке, потому что desc является ключевым словом sql. попробуйте обернуть его обратно в тики `desc`

1 голос
/ 14 октября 2011

desc является резервным ключевым словом. Используйте "desc" вместо

0 голосов
/ 14 октября 2011

Проверьте список зарезервированных ключевых слов."DESC" является одним из них.

В MySQL действует следующее:

INSERT INTO data SET `desc` = 'post data';

Вы должны пересмотреть свой сценарий, хотя. Иметь поля, имена которых совпадают с зарезервированными ключевыми словами, является плохим признаком. Как и отсутствие санитарных условий перед использованием данных $ _POST.

Вот почему desc - это ужасное имя поля:

SELECT id, desc
FROM data
ORDER BY id desc;  #this is valid sql, but likely isn't going to do what you expect

Который очень похож на

SELECT id, desc
FROM data
ORDER BY id, desc;   #not valid sql

И обязательное внедрение: Как работает SQL-инъекция из комикса XKCD "Таблицы Бобби"?

0 голосов
/ 14 октября 2011
mysql_query("INSERT INTO data (desc) VALUES('".$_POST["carte_nom"].")' ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...