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

Добавить данные в таблицу MySQL

18.01.2016, 19:18. Показов 7609. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Помогите решить проблемку, пожалуйста.
Есть форма с вводом данных.
Есть база в MySQL.
Необходимо соответственно данные из формы добавить в эту базу.
Ниже код формы html и добавление php.

HTML5
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
    <form action="form.php" method="post">
      <table>
        <tr>
          <th>Выберите кофе:</th>
          <td>
            <select name="beans">
              <option value="Смесь">Домашняя смесь</option>
              <option value="Боливия">Боливия</option>
              <option value="Гватемала">Гватемала</option>
              <option value="Кения">Кения</option>
            </select>
          </td>
        </tr>
 
        <tr>
          <th>Тип:</th>
          <td>
            <input type="radio" name="beantype" value="зерна" id="whole" />
            Кофе в зернах
            <br />
            <input type="radio" name="beantype" value="молотый" id="ground" checked="checked" /> 
            Молотый
          </td>
        </tr>
 
        <tr>
          <th>Дополнительные услуги:</th>
          <td>
            <input type="checkbox" name="extras[]" value="упаковка" id="giftwrap" />
            Подарочная упаковка
            <br />
            <input type="checkbox" name="extras[]" value="каталог" id="catalog" checked="checked" />
            Доставка каталога вместе с заказом
          </td>
        </tr>
 
        <tr>
          <th>Доставить по адресу:</th>
            <td>
              <table>
                <tr>
                  <td>Имя:</td>
                  <td>
                    <input type="text" name="Name" id="Name" value="" />
                  </td>
                </tr>
                <tr>
                  <td>Телефон:</td>
                  <td>
                    <input type="text" name="Telefon" id="Telefon" value="" />
                  </td>
                <tr>
                <tr>
                  <td>Адрес:</td>
                  <td>
                    <input type="text" name="Address" id="Address" value="" />
                  </td>
                </tr>
                <tr>
                  <td>Город:</td>
                  <td>
                    <input type="text" name="Gorod" id="Gorod" value="" />
                  </td>
                </tr>
                <tr>
                  <td>Страна:</td>
                  <td>
                    <input type="text" name="Strana" id="Strana" value="" />
                  </td>
                </tr>
                <tr>
                  <td>Почтовый индекс:</td>
                  <td>
                    <input type="text" name="Index" id="Index" value="" />
                  </td>
                </tr>
              </table>
            </td>
        </tr>
 
          <tr>
            <th>Комментарии клиентов:</th>
            <td>
              <textarea name="comments" id="comments" rows="10" cols="48"></textarea>
            </td>
          </tr>
 
          <tr>
            <th></th>
            <td>
              <input type="submit" value="Заказать сейчас" />
            </td>
          </tr>
      </table>
    </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    <?php
        $host="localhost";
        $user="Danil";
        $pass="111222";
        $db_name="Starbuzz";
        $link=mysql_connect($host,$user,$pass);
        mysql_select_db($db_name,$link);
 
        if (isset($_POST["Name"])) {
            $sql = mysql_query("INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."'.'".$_POST['Index']."')");
            if ($sql) {
                echo "Данные успешно добавлены в таблицу";
            } else {
                echo "Произошла ошибка";
            }
        }
    ?>
Сразу оговорюсь, потому как не уверен правильно ли делаю. В форме полей для добавления больше, чем в таблице БД и запросе SQL. Решил просто попробовать для начала на некоторые текстовые поля сделать.

Никакой ошибки не выдается, просто не добавляется.
Выдается только "Произошла ошибка" ,как прописано в коде php.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2016, 19:18
Ответы с готовыми решениями:

Добавить данные в таблицу
Всем знатокам привет. Дано: - простенькая табличка MySQL Использую: XAMPP Нужно с помощью страницы insert.php добавить...

Не записываются данные в таблицу MySQL
Доброго времени суток уважаемые пользователи форума!У меня возникла проблема следующего рода. Есть база данных в phpmyadmin.Во все...

Не выводятся данные с БД MySQL в таблицу
День добрый, я только зеленый в PHP так что строго не судите. У меня токая проблема, я написал код на обычный вывод инфы с базы в форме...

42
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 19:35
PHP
1
".$_POST['Strana']."'.'".$_POST['Index']."
у вас между двумя ячейками точка вместо запятой стоит)
1
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 19:42  [ТС]
Спасибо за бдительность, исправил, но все равно не помогло(
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 19:44
PHP
1
2
3
$string = "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."','".$_POST['Index']."')";
echo $string;
Что выводит покажите В форме у Вас кстати name="Address" а в обработчике $_POST['adres']
1
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 19:46  [ТС]
INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) VALUES ('дада','ds','','гаг','s','234544')

Поле адрес почему-то пустое, хотя данные я внес
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 19:48
Я выше написал почему)
Цитата Сообщение от СлаваВирус Посмотреть сообщение
В форме у Вас кстати name="Address" а в обработчике $_POST['adres']
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 19:54  [ТС]
INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) VALUES ('qq','s','s','s','d','f')

Вот так выдает.
Косяк в форме был. Там не Adres а Address было

Добавлено через 4 минуты
Одновременно пишем=))
Интересно, теперь sql видимо выполняется, т.к. выдается сообщение "Данные успешно добавлены в таблицу".
Однако в БД не добавилось ничего.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:00
Цитата Сообщение от RedBull89 Посмотреть сообщение
Интересно, теперь sql видимо выполняется, т.к. выдается сообщение "Данные успешно добавлены в таблицу".
Однако в БД не добавилось ничего.
Нууууу тут либо подключение к БД не установлено, либо в запросе ошибка...все действия желательно проверять)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    <?php
        $host="localhost";
        $user="Danil";
        $pass="111222";
        $db_name="Starbuzz";
        $link=mysqli_connect($host,$user,$pass, $db_name);
        if(!$link) {
            die("Ошибка подключения: ".mysqli_connect_error());
        }
 
        if (isset($_POST["Name"])) {
            $sql = mysqli_query($link, "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."'.'".$_POST['Index']."')") or dir(mysqli_error($link));
            if ($sql) {
                echo "Данные успешно добавлены в таблицу";
            } else {
                echo "Произошла ошибка";
            }
        }
    ?>
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:03  [ТС]
А как подключение проверить? у меня локальный сервер.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:06
Цитата Сообщение от СлаваВирус Посмотреть сообщение
PHP
1
2
3
if(!$link) {
 die("Ошибка подключения: ".mysqli_connect_error());
 }
Так проверите подключение
Цитата Сообщение от СлаваВирус Посмотреть сообщение
PHP
1
2
$sql = mysqli_query($link, "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."'.'".$_POST['Index']."')") or dir(mysqli_error($link))
так проверите запрос)))
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:14  [ТС]
Ничего...
Все как обычно, Данные добавлены. Но в базу в реальности не добавлены. Ошибки нет.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:17
Открываете phpmyadmin и пробуете ручками выполнить этот запрос
Цитата Сообщение от RedBull89 Посмотреть сообщение
INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) VALUES ('дада','ds','','гаг','s','234544')
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:18  [ТС]
Может я не так что добавил? ))

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    <?php
        $host="localhost";
        $user="Danil";
        $pass="111222";
        $db_name="Starbuzz";
        $link=mysql_connect($host,$user,$pass);
        mysql_select_db($db_name,$link);
        if (!$link)
        { die("Ошибка подключения: " .mysqli_connect_error());
        }
        if (isset($_POST["Name"])) {
            $sql = "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."','".$_POST['Index']."')" or dir(mysqli_error($link));
            if ($sql) {
                echo "Данные успешно добавлены в таблицу";
            } else {
                echo "Произошла ошибка";
            }
        }
    ?>
Добавлено через 1 минуту
Вот и косяк

#1064 - 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 'INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) VAL' at line 2
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:21
блин боги во я тоже сам печатаю))) die вместо dir и я для mysqli писал))) синтаксическая ошибка в запросе)
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:28  [ТС]
Не вижу ошибки в запросе, который вставил в phpmydmin
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:29
Так он выполнился через phpmyadmin?
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:32  [ТС]
Нет.
Ошибку выдал, выше которую написал.
Только я ошибки не вижу, вроди норм все в синтаксисе, даже сравнил с шаблоном на другом сайте
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:36
Как сейчас у Вас выглядит код?)
0
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 120
18.01.2016, 20:55  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    <?php
        $host="localhost";
        $user="Danil";
        $pass="111222";
        $db_name="Starbuzz";
        $link=mysql_connect($host,$user,$pass);
        mysql_select_db($db_name,$link);
        if (!$link)
        { die("Ошибка подключения: " .mysqli_connect_error());
        }
 
        if (isset($_POST["Name"])) {
            $sql = "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."','".$_POST['Index']."')" or die(mysqli_error($link));
            if ($sql) {
                echo "Данные успешно добавлены в таблицу";
            } else {
                echo "Произошла ошибка";
            }
        }
    ?>
что такое dir и die не знаю. Видел ваше общение и не понял то ли первое то ли второе ставить, и то и то пробовал, безрезультатно
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
18.01.2016, 20:59
Если Вы все таки хотите использовать устаревшее расширение mysql то код выглядеть должен так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    <?php
        $host="localhost";
        $user="Danil";
        $pass="111222";
        $db_name="Starbuzz";
        $link=mysql_connect($host,$user,$pass);
        mysql_select_db($db_name,$link);
        if (!$link)
        { die("Ошибка подключения: " .mysql_error());
        }
 
        if (isset($_POST["Name"])) {
            $sql = "INSERT INTO `zakaz` (`Name`, `Telefon`, `Adres`, `Gorod`, `Strana`, `Index`) 
                VALUES ('".$_POST['Name']."','".$_POST['Telefon']."','".$_POST['Adres']."','".$_POST['Gorod']."','".$_POST['Strana']."','".$_POST['Index']."')" or die(mysql_error());
            if ($sql) {
                echo "Данные успешно добавлены в таблицу";
            } else {
                echo "Произошла ошибка";
            }
        }
    ?>
dir это моя невнимательность и опечатка))) die() прекращает выполнение скрипта в случае ошибки и возвращает нам ошибку БД) попробуйте так...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2016, 20:59
Помогаю со студенческими работами здесь

В таблицу mysql не вносит данные
вот таблица CREATE TABLE IF NOT EXISTS `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product` varchar(100) NOT NULL, ...

Как добавить записи в несколько строк в таблицу mysql?
Здравствуйте! Постепенно познаю php+mysql и вот не соображу как можно реализовать следующее: На странице есть 12 одинаковых строк с...

Не могу добавить данные в MySQL
не могу понять, что я делаю не так??? &lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt;Добавление пользователя&lt;/TITLE&gt; &lt;/HEAD&gt; &lt;BODY&gt; ...

Не удается добавить данные в таблицу
Вот код страницы добавления сотрудника поликлиники. Приведен полностью. Подскажите, почему не удается добавить запись в phpmyadmin? ...

Не получается добавить данные в таблицу
Мне надо добавить данные в таблицу, вот как я это делаю(но почему-то не работает): &lt;?php $host=&quot;localhost&quot;; // Host name ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru