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

Не добавляет в базу данных

05.11.2015, 18:31. Показов 2020. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Php изучаю совсем недавно и вот столкнулся с проблемой. Не могу добавить данные в базу данных mysql при помощи формы.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Добавление пользователя</title>
</head>
 
<body>
<form method="post" action="add.php">
Название новости<br/>
<input type="text" name="title"/><br/>
Текст новости<br/>
<textarea cols="40" rows="10" name="text"></textarea><br/>
Автор новости<br/>
<input type="text" name="author"><br/>
<input type="hidden" name="date" value="<?php echo date('Y-m-d');?>"/>
<input type="hidden" name="time" value="<?php echo date('H:i:s');?>"/>
<input type="submit" name="add" value="Добавить"/>
    
</form>
<?php 
$con = mysqli_connect("localhost", "root", "root", "123")//параметры в скобках ("хост", "имя пользователя", "пароль")
or die("<p>Ошибка подключения к базе данных! " . mysqli_connect_error() . "</p>");
 
$db = mysqli_select_db($con,"123")//параметр в скобках ("имя базы, с которой соединяемся")
 or die("<p>Ошибка выбора базы данных! ". exit(mysqli_connect_error()) . "</p>");
 mysqli_query($con, "SET NAMES 'utf9' "); // mysql_set_charset("utf9");
 
if (isset($_POST['add'])) 
{
$title = $_POST['title'];
 
$author = trim($_POST['author']);
$date = $_POST['date'];
$time = $_POST['time'];
 
$sql = "INSERT INTO news(title, date, time, author) VALUES ('$title','$date','$time','$author')";
mysqli_query($con, $sql);
mysqli_close($con);
echo "Новость успешно добавлена";
}
?>
 
</body>
</html>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2015, 18:31
Ответы с готовыми решениями:

Спамер добавляет объявление в мою базу данных
Всем привет! У меня вот такая проблема, есть пхп страница с формой для добавления объявления на сайт она защищена каптчей года 3 все...

Посмотрите пожалуйста код, не добавляет информацию в базу данных
Ошибки: Предупреждение: mysqli_connect() : (28000/1045): доступ запрещен для пользователя '2089528_tvz'@'82.197.130.147' (используя...

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

10
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
05.11.2015, 18:47
Какая ошибка появляется? несколько замечаний по коду
1.
PHP
1
mysqli_select_db($con,"123")
это лишнее так как БД вы указываете выше в mysqli_connect
2.
PHP
1
mysqli_connect_error()
внутри передается указатель соединения $con
3.
PHP
1
2
$db = mysqli_select_db($con,"123")//параметр в скобках ("имя базы, с которой соединяемся")
 or die("<p>Ошибка выбора базы данных! ". exit(mysqli_connect_error()) . "</p>");
Код повторюсь лишний, но зачем после die еще и exit писать...
Ну и снова повторюсь какие ошибки выводятся?
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 17
05.11.2015, 19:19  [ТС]
Добавлено через 1 минуту
ошибок нет никаких, а может они и есть, но я не знаю где их посмотреть
П,С, я пробывал работать с базой данных через php и у меня получалось, а вот добавление не происходит

Добавлено через 6 минут
Упс, нашел, вот ошибка
[Thu Nov 05 19:11:55.131186 2015] [:error] [pid 4796:tid 1152] [client ::1:51811] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in D:\\WebServers\\data\\htdocs\\forma\\scr ipts\\add.php on line 17, referer: http://localhost/forma/scripts/add.php

Добавлено через 5 минут
Europe/Moscow я добавил в тайзону, но опять не добавляется
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
05.11.2015, 19:53
а если так код преподнести что в браузер выведется? и что за кодировка utf9
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
$con = mysqli_connect("localhost", "root", "root", "123");
if (!$con) {
    die('Connect Error: ' . mysqli_connect_error());
}
 mysqli_query($con, "SET NAMES 'utf8' ");
 
if (isset($_POST['add'])) 
{
$title = $_POST['title'];
 
$author = trim($_POST['author']);
$date = $_POST['date'];
$time = $_POST['time'];
 
$sql = "INSERT INTO news(title, date, time, author) VALUES ('$title','$date','$time','$author')";
mysqli_query($con, $sql) or die(mysqli_error($con));
mysqli_close($con);
echo "Новость успешно добавлена";
}
?>
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 17
05.11.2015, 20:03  [ТС]
Field 'text' doesn't have a default value
Изначально планировалось и добавить поле текст $text = $_POST['text'];
но потом я передумал. Может в этом причина?

Добавлено через 2 минуты
Я дописал код с текстом
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
$con = mysqli_connect("localhost", "root", "root", "123");
if (!$con) {
    die('Connect Error: ' . mysqli_connect_error());
}
 mysqli_query($con, "SET NAMES 'utf8' ");
 
if (isset($_POST['add'])) 
{
$title = $_POST['title'];
$text = $_POST['text'];
$author = trim($_POST['author']);
$date = $_POST['date'];
$time = $_POST['time'];
 
$sql = "INSERT INTO news(title, date, time, author? text) VALUES ('$title','$date','$time','$author', 'text')";
mysqli_query($con, $sql) or die(mysqli_error($con));
mysqli_close($con);
echo "Новость успешно добавлена";
}
?>
И вылезла вот такая вот ошибка: 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 '? text) VALUES ('df','2015-11-05','19:58:21','sdf', 'text')' at line 1
код sql
SQL
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- [url]http://www.phpmyadmin.net[/url]
--
-- Хост: localhost
-- Время создания: Ноя 05 2015 г., 20:05
-- Версия сервера: 5.7.9-log
-- Версия PHP: 5.6.15
 
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
 
--
-- База данных: `123`
--
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `news`
--
 
CREATE TABLE `news` (
  `id` INT(10) UNSIGNED NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `text` text NOT NULL,
  `date` DATE NOT NULL,
  `time` TIME NOT NULL,
  `author` VARCHAR(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
--
-- Дамп данных таблицы `news`
--
 
INSERT INTO `news` (`id`, `title`, `text`, `date`, `time`, `author`) VALUES
(1, 'Название новости 1', 'фывфывфывфывпавп в', '2015-11-05', '00:00:00', 'выавыа'),
(2, 'названиеновости', 'ыфвпарпывп', '2015-11-05', '00:00:00', 'апвыпвып'),
(3, 'названиеновости', 'ыфвпарпывп', '2015-11-05', '00:00:00', 'апвыпвып');
 
--
-- Индексы сохранённых таблиц
--
 
--
-- Индексы таблицы `news`
--
ALTER TABLE `news`
  ADD PRIMARY KEY (`id`);
 
--
-- AUTO_INCREMENT для сохранённых таблиц
--
 
--
-- AUTO_INCREMENT для таблицы `news`
--
ALTER TABLE `news`
  MODIFY `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
05.11.2015, 20:06
Либо в БД указать для данного поля значение по умолчанию и не использовать его в запросе, либо поправить запрос...вы же сами видите надеюсь ошибку напишите тогда так
PHP
1
$sql = "INSERT INTO news(title, date, time, author, text) VALUES ('$title','$date','$time','$author', '$text')";
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 17
05.11.2015, 20:16  [ТС]
Сделал все по вашему совету, но выскакивает ошибка при попытке добавить в базу
Code
1
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 '? text) VALUES ('','fdg','2015-11-05','20:11:18','dfg', 'text')' at line 1
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
05.11.2015, 20:19
Зачем знак вопроса перед text?
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 17
05.11.2015, 20:22  [ТС]
Вопрос убрал. Появилось новое
Incorrect integer value: '' for column 'id' at row 1
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
05.11.2015, 20:35
Потому что вы в id пытаетесь запихнуть пустое значение, скопируйте мой запрос из сообщения выше и вставьте в код
1
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 17
05.11.2015, 20:39  [ТС]
спасибо большое. все получилось. тему можно закрывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2015, 20:39
Помогаю со студенческими работами здесь

Не добавляет в базу
здравствуйте можете подсказать в чём тут дело?я вот написал скрипт добавления баннера на сайт и в таблице у меня указано поле place и img и...

Не добавляет в базу
Здравствуйте, я новичок в php, пытаюсь добавить новую запись в таблицу, но к сожалению не получается. Вот что я сделал: 1. Подключил...

Не добавляет в базу WP
Здравствуйте, я новичок в php, пытаюсь добавить новую запись в таблицу, но к сожалению не получается. Сайт на движке wordpress Вот что...

Не добавляет данные в базу
Здравствуйте написал вот такой запрос на при нажатии на кнопку нечего недобавляется в базу. &lt;? include(&quot;in/bd.php&quot;); ...

Не добавляет данные в базу
Столкнулся с проблемой, если в поле есть такой знак ' то insert into не работает. $id = ((mysql_num_rows($result))+1); $name...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru