Проблема при добавлении строки в MySQL через PHP

php MySQL ошибка добавление строки

есть html-форма, на которой есть элемент textfield имеющий name="razdel"
при добавлении строки браузер ругается, что переменной razdel не существует.
код выглядит так:
<?php
if (isset ($_POST['add'])) {
$query = "INSERT INTO razdel VALUES (NULL, '" . $name . "')";
$result = mysql_query ($result) or die ("Error: " . mysql_error ());
if ($result) {
echo "Добавлено";
} else {
echo "Ошибка";
}
}
?>
Ответы:
$name = $_POST['razdel'];
$query  = "INSERT INTO razdel VALUES (NULL, '" . $name . "')";
$result = mysql_query ($query) or die ("Error: " . mysql_error ());
2 Sergey_K
Напиши конкретно ошибку, которая выводится. Таблица есть в базе даннх? Коннект к базе выполнен?
коннект выполнен, база данных есть, таблица есть, данные считывает, а ошибка только при записи. к тому же подозреваю, что ошибка эта относится к php-коду, а не к бд.
У тебя причем тут посылается пустой запрос, потому что переменная ($result) пуста, там нужно $query записать
ошибку генерирует сервер БД и выводится она у тебя после запроса неудачного or die ("Error: " . mysql_error ());
точно, как это я не заметил. исправил. теперь так:
напиши вместо $name $_POST['name']
спасибо, так заработало. скажи пожалуйста, почему надо использовать постоянно $_POST? помню раньше я никогда его не ставил (ни в isset, ни в переменных) и все работало на ура. а теперь...
Просто выключен register_globals. Это так и нужно для безопастности. Всегда нужно обращаться к $_POST, $_GET, $_REQUEST при получении передаваемых данных. В каждой книжке должно быть написано про register_globals.
1. как отключить register_globals?
2. впервые встречаюсь с проблемой кодировок, т.к. никогда не делал русскоязычных сайтов. можно подробнее?
Если сайт русскоязычный, то пользуйся кодировкой cp1251 она же win-1251. Но можно и utf-8, но зачем.
В базе данных каждой таблице можно указать кодировку, через тот же phpmyadmin
странно, изменил значение register_globals с off на on, но все равно не работают скрипты без $_POST. из-за чего?


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.