Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336

Данные из формы не записываются в БД

15.01.2013, 21:56. Показов 2552. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется код.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html>
<body>
<?php
if ($submit) {
$db = mysql_connect("test", "0000");
mysql_select_db("mydb",$db);
$sql = "INSERT INTO employees (id,first,last,address,position) VALUES
('$id','$first','$last','$address','$position')";
$result = mysql_query($sql);
echo "Информация введена!!!";
} else{
?>
<form method="post" action="<?php echo $PHP_SELF?>">
id:<input type="Text" name="id"><br>
First name:<input type="Text" name="first"><br>
Last name:<input type="Text" name="last"><br>
Address:<input type="Text" name="address"><br>
Position:<input type="Text" name="position"><br>
<input type="Submit" name="submit"Ввести">
</form>
<?php
}
?>
</body>
</html>
подскажите, в чём здесь ошибка. Уже целый вечер сижу над ним и не могу разобраться.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2013, 21:56
Ответы с готовыми решениями:

Не записываются данные из формы в БД mysql
Взяла готовое решение из интернета, однако данные не записываться. В окне браузера отображается Новая запись вставлена в базу! ...

Не записываются данные из формы в базу Mysql
Есть текстовое поле в форме, поле TEXT, из формы данные записываются в базу Mysql. Происходит такая вещь: если текст содержит символ...

Данные не записываются в БД
Дело в том, что не могу понять причину, почему не идёт запись в бд... Помогите пожалуйста... Модуль, Form2... Imports...

15
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
15.01.2013, 22:08
В SQL в кавычки вставляют текстовые значения, или дату... числовые значения пишут без кавычек. Первое что бросается в глаза это поле id...
не ('$id', - а ($id,
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
15.01.2013, 22:27
casual_visitor, ошибки не будет из-за этого.
m@tem@tik, этот код написан под php с включенным register_globals. И данные, в любом случае, надо экранировать. Подозреваю, что должно быть что-то наподобие такого:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html>
<body>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$db = mysql_connect('test', '0000'); //жестокие данные для коннекта..
mysql_select_db('mydb',$db);
 
$arr = array('id','first','last','address', 'position');
 
foreach($arr as $val)
    $values[] = isset($_POST[$v]) ? '"' . mysql_real_escape_string($_POST[$v]) . '"' : '';
 
$sql = 'INSERT INTO employees (`id`,`first`,`last`,`address`,`position`) VALUES (' . implode(',', $values) . ')';
$result = mysql_query($sql);
echo 'Информация введена!!!';
} else{
?>
<form method="post" action="<?php echo $PHP_SELF?>">
id:<input type="Text" name="id"><br>
First name:<input type="Text" name="first"><br>
Last name:<input type="Text" name="last"><br>
Address:<input type="Text" name="address"><br>
Position:<input type="Text" name="position"><br>
<input type="Submit" name="submit"Ввести">
</form>
<?php
}
?>
</body>
</html>
0
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336
15.01.2013, 22:51  [ТС]
Всё равно не работает. Тупо выводит строку Информация введена

Добавлено через 2 минуты
Но выводить данные из таблицы получается. А вот вводить нет
0
15.01.2013, 22:52

Не по теме:

Можно революцию деревенского масштаба? Ну когда же все бросят юзать mysql, mysqli?. Есть же библа с плейсхолдерами.. PDO называется. Мудрецы озабоченные борьбой с sql инъекциями не пускают? А они ведь плодят все новых и новых последователей...

0
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336
15.01.2013, 22:56  [ТС]
Цитата Сообщение от casual_visitor Посмотреть сообщение

Не по теме:

Можно революцию деревенского масштаба? Ну когда же все бросят юзать mysql, mysqli?. Есть же библа с плейсхолдерами.. PDO называется. Мудрецы озабоченные борьбой с sql инъекциями не пускают? А они ведь плодят все новых и новых последователей...

Я только учусь, и поэтому начинаю с основ...
0
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
15.01.2013, 23:11
Цитата Сообщение от m@tem@tik Посмотреть сообщение
Тупо выводит строку Информация введена(
В Вашем случае вывод "Информация введена" будет всегда. Вы не проверяеете результат запроса к базе..

Добавлено через 3 минуты
пррр!!! Посмотрел ваш sql код:
SQL
1
'INSERT INTO employees (`id`,`first`,`last`,`address`,`position`) VALUES (' . implode(',', $values) . ')';
это не будет работать никогда.
Очень много у вас ошибок. Очень сильно у Вас невнимательно, сори если обидел

Добавлено через 6 минут

Не по теме:

кажется я еще код от KOPOJI скопировал.. это мой косяк.. но код не рабочий точно... должен уйти срочно

0
 Аватар для Totoro
47 / 23 / 3
Регистрация: 28.05.2012
Сообщений: 150
Записей в блоге: 1
16.01.2013, 09:14
PHP
1
     $db = mysql_connect("test", "0000");
А к какому хосту вы подклчаетесь???
0
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336
16.01.2013, 10:21  [ТС]
Цитата Сообщение от Totoro Посмотреть сообщение
PHP
1
     $db = mysql_connect("test", "0000");
А к какому хосту вы подклчаетесь???
К локальному.
0
 Аватар для Slip3101
2 / 1 / 2
Регистрация: 28.10.2011
Сообщений: 8
16.01.2013, 10:34
PHP
1
2
$sql="INSERT INTO `employees` (`id`,`first`,`last`,`address`,`position`) VALUES ('".$id."','".$first."','".$last."','".$address."','".$position."')";
mysql_query($sql) or die(mysql_error());
0
4 / 4 / 0
Регистрация: 19.07.2012
Сообщений: 12
16.01.2013, 12:17
Цитата Сообщение от m@tem@tik Посмотреть сообщение
К локальному
тогда нужно прописать еще один пареметр в строке соединения:

PHP
1
$db = mysql_connect("localhost", "test", "0000");
иначе как ему понять к какому хосту вы его подключаете.

Добавлено через 20 минут
а еще нужно "принять" данные, которые пришли с формы ввода и записать их в переменные, например:

PHP
1
2
3
4
$id = $_POST['id'];
$first = $_POST['first'];
$last = $_POST['last'];
....... и т.д. все переменные.
ну а потом уже, соответственно, можете использовать созданные переменные в инсерте.
1
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336
16.01.2013, 12:58  [ТС]
Цитата Сообщение от Wow4ig Посмотреть сообщение
тогда нужно прописать еще один пареметр в строке соединения:
Код PHP
1
$db = mysql_connect("localhost", "test", "0000");
иначе как ему понять к какому хосту вы его подключаете.
Дело в том что вывод из базы данных у меня получается.
0
4 / 4 / 0
Регистрация: 19.07.2012
Сообщений: 12
16.01.2013, 13:35
Цитата Сообщение от m@tem@tik Посмотреть сообщение
Дело в том что вывод из базы данных у меня получается.
Да, я читал об этом, но я бы все же попробовал, вдруг поможет.
А еще попробуйте второй вариант, кот. я писал (с переменными), я себе именно так делал.
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.01.2013, 18:41
Цитата Сообщение от casual_visitor Посмотреть сообщение
это не будет работать никогда.
с чего бы это вдруг?

Добавлено через 17 секунд
про коннект я в комментариях писал

Добавлено через 7 минут
не работает по одной-единственной причине: здесь
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
foreach($arr as $val)
надо так:
PHP
1
foreach($arr as $v)
Добавлено через 18 секунд
ну и коннект конечно..
1
16.01.2013, 18:49

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
с чего бы это вдруг?
Признаюсь - невнимателен

1
15 / 15 / 0
Регистрация: 22.10.2012
Сообщений: 336
16.01.2013, 21:31  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну и коннект конечно..
Я так и не понял, что у меня с коннектом не так?

Добавлено через 58 минут
все работает, спасибо ребят!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2013, 21:31
Помогаю со студенческими работами здесь

Не записываются данные в БД
всем привет! делал слайд, нужно загружать изображение и ссылку. изображение загружается на сервер, а данные не записываются в БД. не...

Данные не записываются в БД
Данные, которые берутся из формы, не записываются в таблицу. Вот код: &lt;?php $db=mysql_connect('localhost','***','***'); ...

Данные не записываются в БД
Здравствуйте! Прошу помощи, потому что сам уже не понимаю. Есть БД в которую должны записываться данные, но половина из них...

Не записываются данные в БД
Здравствуйте! Столкнулся с проблемой и нужна помощь :( Вроде сделал все как в примере на одном сайте, но нажатие на кнопку не запускает...

Данные не записываются в БД
Требуется помощь возникла ещё одна проблема данные не записываются в БД. config.php : &lt;?php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru