У меня есть этот PHP код:MySQL ошибка вставки в моей форме
$db = new mysql;
$new_bad = $_POST['new_bad'];
$new_replace = $_POST['new_replace'];
if ($_POST['submit']) {
if ($new_bad && $new_replace) {
$db->query("SELECT * FROM BAD_WORDS WHERE BAD_WORD='".$new_bad."'");
if ($db->CNrows() == 0) {
$db->query("
INSERT INTO BAD_WORDS(BAD_WORD,REPLACE)
VALUE('".$new_bad."','".$new_replace."')
");
$err = "added succesfully..";
$tmp->assign('msg', 'true');
} else {
$err = "the word is in table ..!!";
$tmp->assign('msg', 'false');
}
} else {
$err = "you must fill all feilds ..!!";
$tmp->assign('msg', 'false');
}
}
, но когда я проверить это я нашел эту ошибку:
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 'REPLACE) VALUES('bad1','replace1')' at line 1
чем проблема ??
$tmp->
= это Smarty шаблон класса и работать без проблем
BAD_WORDS
стол = ID,BAD_WORD,REPLACE
REPLACE - зарезервированное ключевое слово ... – Mr47
Mr47 - Нет, подумайте, когда я возьму слова, я не нашел проблему –
** Ваш код уязвим для SQL-инъекции. ** Вы ** действительно ** должны использовать подготовленные инструкции, в которые вы передаете свои переменные в качестве параметров, которые не оцениваются для SQL. Если вы не знаете, о чем я говорю, или как это исправить, прочитайте рассказ о [Bobby Tables] (http://bobby-tables.com). – eggyal