С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99

Метод передачи POST - Ошибка при добавление данных

16.05.2015, 10:33. Показов 2289. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, и снова я)
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 <?php
 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "Auto"; // Пользователь БД
$dbpass = "auto"; // Пароль к базе
$dbname = "auto"; // Имя базы
 
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass); 
if (!$dbconnect) { echo ("Не могу подключиться к серверу базы данных!"); }
 
 $name = $_POST['name']; 
 $short_txt = $_POST['short_txt']; 
 $long_txt = $_POST['long_txt'];
 $image = $_POST['image'];
 $sql = 'INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) 
 VALUES('.$name.', '.$short_txt.', '.$long_txt.', '.$image.')';
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
 ?>
Это сам обработчик

Это форма
Кликните здесь для просмотра всего текста
<form method="post" action="add.php">
Название новости: <input type="text" size="30" name="name">
Короткое название новости: <input type="text" size="30" name="short_txt">
Полное описание новости: <input type="text" size="45" name="long_txt">
Добавьте изображение: <input type="text" size="100" name="image">
<input type="submit" value="Добавить запись">
</form>


Это таблица у меня в бд.
Подключение происходит тоже верно.
Но постоянно происходит "Ошибка при добавление данных"
Где ошибся?? Не могу найти
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2015, 10:33
Ответы с готовыми решениями:

при передачи данных методом POST не преобразует в верхний регистр
Прошу помощи в решении следующей проблемы: при передачи данных методом POST не преобразует в верхний регистр $familiya =...

Ошибка при передачи данных из формы
Всем привет! Пожалуйста, помогите решить задачу! У меня есть форма: &lt;FORM method='POST' action='test.asp' ID='Form1'&gt; &lt;INPUT...

метод POST, кошмар с кодировкой при выводе данных
отправляю с сайта форму заказа, обрабатываю скриптом. после нажатия кнопки отправить данные выводятся юзверю и на мыло приходят - названия...

28
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.05.2015, 10:42
Цитата Сообщение от хай Посмотреть сообщение
('.$name.', '.$short_txt.', '.$long_txt.', '.$image.')
должны быть в кавычках. И есть такая функция mysql_error(), которая возвращает ошибку.

и еще бд не выбрана
1
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 10:44  [ТС]
А они разве не в кавычках?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.05.2015, 10:50
Цитата Сообщение от хай Посмотреть сообщение
А они разве не в кавычках?
нет.
добавь var_dump($sql); и увидишь
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 11:15  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
должны быть в кавычках. И есть такая функция mysql_error(), которая возвращает ошибку.
И куда мне это записать?
PHP
1
2
 $sql = 'INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) 
 VALUES("'.$name.'", "'.$short_txt.'", "'.$long_txt.'", "'.$image.'")';
А запрос должен выглядеть так? С кавычками.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.05.2015, 11:24
Цитата Сообщение от хай Посмотреть сообщение
А запрос должен выглядеть так? С кавычками.
да
Цитата Сообщение от хай Посмотреть сообщение
И куда мне это записать?
очевидно туда же где выводится ошибка
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 11:26  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
очевидно туда же где выводится ошибка
Синтаксически как?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.05.2015, 11:29
Цитата Сообщение от хай Посмотреть сообщение
Синтаксически как?
https://php.net/manual/ru/function.mysql-error.php
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 11:42
необходимо добавить кавычки

$sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES('$name', '$short_txt', '$long_txt', '$image')";
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$var = 'q,';
 
echo $var;
 
$var = '\'q\',';
 
echo $var; ?>
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.05.2015, 11:45
Цитата Сообщение от хай Посмотреть сообщение
PHP
1
echo ("Не могу подключиться к серверу базы данных!");
Я бы еще вместо echo написал die или exit.
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 11:58  [ТС]
tolimadokara
а что это такое?

Добавлено через 1 минуту
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Я бы еще вместо echo написал die или exit.
Да мне бы с добавлением разобраться, к базе он подключается
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 12:01

Не по теме:

Цитата Сообщение от хай
а что это такое?
да не важно. просто хотел показать как можно экранировать одинарные кавычки что бы в запросе они были как одинарные кавычки а не как кавычки которыми в PHP определяется содержимое строк.



Добавлено через 1 минуту
хай. Протестируйте этот скрипт

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "Auto"; // Пользователь БД
$dbpass = "auto"; // Пароль к базе
$dbname = "auto"; // Имя базы
 
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass); 
if (!$dbconnect) { exit ("Не могу подключиться к серверу базы данных!"); }
 
 $name = $_POST['name']; 
 $short_txt = $_POST['short_txt']; 
 $long_txt = $_POST['long_txt'];
 $image = $_POST['image'];
 $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES('$name', '$short_txt', '$long_txt', '$image')";
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
 ?>
должен работать.
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 12:07  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
должен работать.
Не работает, ругается на 16 строку, а она у меня
PHP
1
 VALUES('$name', '$short_txt', '$long_txt', '$image')';
Добавлено через 1 минуту
Цитата Сообщение от Jewbacabra Посмотреть сообщение
https://php.net/manual/ru/function.mysql-error.php
Мануалкой всегда тыкнуть можно. Взял бы, да и помог.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 12:13
хай. Разместите здесь полный текст ошибки.

хай. Это должно быть в 15 строке а не в 16. Возможно у Вас есть в задании значения переменной $sql перевод строки. Уберите этот перевод строки. Все можно разместить одной строкой.
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 12:17  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
хай. Это должно быть в 15 строке а не в 16. Возможно у Вас есть в задании значения переменной $sql перевод строки. Уберите этот перевод строки. Все можно разместить одной строкой.
Разместил в одной, все равно не работает. Ошибка выводится моя, которую я разместил в echo
Ошибка при добавлении данных!
0
16.05.2015, 12:18

Не по теме:

Цитата Сообщение от хай Посмотреть сообщение
Мануалкой всегда тыкнуть можно.
Пользоваться мануалом и отлаживать программу это то, без чего не реально быть программистом.
Цитата Сообщение от хай Посмотреть сообщение
Взял бы, да и помог.
Ты не хочешь чтобы тебе помогли, иначе бы ты уже решил свою проблему. Единственное чего ты хочешь, это чтобы сделали твою работу за тебя.

0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 12:27
хай. Теперь выполните такой код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "Auto"; // Пользователь БД
$dbpass = "auto"; // Пароль к базе
$dbname = "auto"; // Имя базы
 
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass); 
if (!$dbconnect) { exit ("Не могу подключиться к серверу базы данных!"); }
 
 $name = addslashes($_POST['name']); 
 $short_txt = addslashes($_POST['short_txt']); 
 $long_txt = addslashes($_POST['long_txt']);
 $image = addslashes($_POST['image']);
 $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES('$name', '$short_txt', '$long_txt', '$image')";
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных! '.mysql_errno($dbconnect) . ": " . mysql_error($dbconnect) .'</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
 ?>
И скопируйте полностью все что выводится в браузер после "Ошибка при добавлении данных" и разместите здесь.

Можете так же выполнить этот запрос не посредственно в phpmyadmin

SQL
1
INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES('a', 'b', 'c', 'd');
и посмотреть на ошибки.

Возможно надо использовать http://php.net/manual/ru/function.addslashes.php
0
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 12:35  [ТС]
.mysql_error(INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES(fghfgh, fhdhdf, fghdf, fgdhdf)) .
Возвращает это значение ошибки. Хотя в Phpmyadmin все работает.
то есть если выполнить такой запрос.

Добавлено через 33 секунды
Цитата Сообщение от tolimadokara Посмотреть сообщение
и посмотреть на ошибки.
Только что написал.
В mysql все выполняется и добавляется

Добавлено через 2 минуты
Цитата Сообщение от tolimadokara Посмотреть сообщение
И скопируйте полностью все что выводится в браузер после "Ошибка при добавлении данных" и разместите здесь.
1046: No database selected вот из твоего скрипта
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
16.05.2015, 12:47
Лучший ответ Сообщение было отмечено хай как решение

Решение

хай. теперь выполните вот такой №3 скрипт

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "Auto"; // Пользователь БД
$dbpass = "auto"; // Пароль к базе
$dbname = "auto"; // Имя базы
 
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass); 
mysql_select_db($dbname);
if (!$dbconnect) { exit ("Не могу подключиться к серверу базы данных!"); }
 
 $name = addslashes($_POST['name']); 
 $short_txt = addslashes($_POST['short_txt']); 
 $long_txt = addslashes($_POST['long_txt']);
 $image = addslashes($_POST['image']);
 $sql = "INSERT INTO `news`(`name`, `short_txt`, `long_txt`, `image`) VALUES('$name', '$short_txt', '$long_txt', '$image')";
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных! '.mysql_errno($dbconnect) . ": " . mysql_error($dbconnect) .'</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные добавлены!</b></p></center>';}
 ?>
теперь должно работать.

Не по теме:

функции mysql* устарели. можно использовать mysqli_* и pdo

http://php.net/manual/ru/book.mysqli.php

http://php.net/manual/ru/book.pdo.php

1
2 / 2 / 1
Регистрация: 22.11.2012
Сообщений: 99
16.05.2015, 12:52  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
теперь должно работать.
СУПЕР!!!!!!!СПАСИБО!!!!!!!!!!НЕДЕЛЮ МУЧАЛСЯ)))))!!!!!!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2015, 12:52
Помогаю со студенческими работами здесь

Ошибка при передачи данных между формами
Здравствуйте! Проблема такова: Есть две формы. Одна содержит таблицу(dataGridView) — Наименование товара, Цена, Количество. Вторая...

Помогите с проблемой передачи данных методом POST
Всем привет....Помогите плиз,с проблемой.... У меня на работе есть коммутатор...у него только вэб управление...через стандартную форму....

POST запрос после json передачи данных
Не могу понять, как мне одновременно сделать json передачу данных при нажатии на кнопку и передачу данных методом POST на страницу.... ...

Ошибка при передачи данных из другой формы, используя свойство 'родитель'
Помогите, пожалуйста! В теме &quot;Ответы на 7 самых частых вопроса по WinForms&quot; в пункте 2 расписан 5-й вариант передачи данных из другой...

Метод post, добавление div-ов
Заполняю div данными: $mark-&gt;GetID(); $mark-&gt;GetMark(); $mark-&gt;GetWheels($_POST); при каждом последующем...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru