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

В таблицу mysql не вносит данные

08.09.2013, 20:19. Показов 2862. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот таблица
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE IF NOT EXISTS `orders` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `product` VARCHAR(100) NOT NULL,
  `prod_id` INT(11) NOT NULL,
  `price` DECIMAL(8,3) NOT NULL,
  `qty` VARCHAR(10) NOT NULL,
  `name` VARCHAR(100) NOT NULL,
  `s_name` VARCHAR(100) NOT NULL,
  `address` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `date` DATE NOT NULL,
  `time` TIME NOT NULL,
  `info` text NOT NULL,
  `phone` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=113 ;
вот файл 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
<?
if($_SESSION['cart'] && !isset($_POST['order']))
{
?>
 
<form action="index.php?view=order" method="post" id="cart-form">
 
 
<table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
                        <th>Товар</th>
            <th>Цена</th>
            <th>Кол-во</th>
            <th>Всего</th>
      </tr>
          
           <? foreach($_SESSION['cart'] as $id => $quantity):
         $product = get_product($id);
        ?>
 
      <tr>
          <td align="center"><?=$product['title'];?></td>
          <td align="center"><?=number_format($product['price'],3);?> руб</td>
          <td align="center"><?=$quantity;?></td>
          <td align="center"><?=number_format($product['price'] * $quantity ,3);?> руб</td>
      </tr>
          
          <?endforeach;?>
</table>    
</form>
<form class="contact_form" action="#" method="post" name="contact_form">
    <ul>
        <li>
             <h2>Контактная информация</h2>
             <span class="required_notification">Красные поля обязательны для заполнения</span>
        </li>
        <li>
            <label for="name">Имя:</label>
            <input type="text" name="name"  placeholder="Василий" required />
        </li>
        <li>
            <label for="s_name">Фамилия:</label>
            <input type="text" name="s_name"  placeholder="Петров" required />
        </li>
        <li>
            <label for="phone">Телефон:</label>
            <input type="text" pattern="[0-9]{11}" name="phone" placeholder="89250774598" required />
        </li>
        <li>
            <label for="email">Email:</label>
            <input type="text" name="email" placeholder="john_doe@example.com" required />
            <span class="form_hint">Образец формата "name@something.com"</span>
        </li>
        <li>
            <label for="address">Адрес:</label>
            <input type="text" name="address" placeholder="Ул. Арбат, дом 5, кв 8" required/>
 
        </li>
        <li>
            <label for="info">Ваши пожелания:</label>
            <textarea name="info" placeholder="Дата, время, условия доставки" cols="40" rows="6" required ></textarea>
 
        </li>
        <li>
            <button class="submit" name="order" type="submit">Заказать</button>
        </li>
    </ul>
</form>
<br/>
<p align='center'>Общая сумма заказа: <b><?=number_format($_SESSION['total_price'],3);?> руб</b></p>
 
 
<?
}
if($_SESSION['cart'] && !isset($_POST['order']))
{
      foreach($_POST as $ArrKey => $ArrStr) {
      $ArrKey = $_POST[$ArrKey];
 
}
 
$date = date('Y-m-d');
$time = date('H:i:s');
 
     foreach($_SESSION['cart'] as $id => $quantity):
         $product = get_product($id);
     $query = mysql_query("INSERT INTO orders(name,s_name,address,email,date,time,product,prod_id,price,qty) VALUES('$name','$s_name','$address', '$email', '$date', '$time', '{$product['title']}', '{$product['id']}', '{$product['price']}', '$quantity')");
     endforeach;        
}
?>
В таблицу myslq не вносятся значения name, s_name, address, email, info, phone
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2013, 20:19
Ответы с готовыми решениями:

Не вносит данные в таблицу
Создал таблицу, пытаюсь ввести данные из страницы при помощи php. Запись не вносится, но и нету сообщения об ошибке. Фаил: Example.php...

UPDATE не вносит данные в MySQL
вот такой код... $sql = &quot;UPDATE &quot;.PREFIX.&quot;mc_order SET od_status = 'Completed', od_payment_first_name = '$LMI_PAYER_WM',...

INSERT INTO не вносит запись в таблицу
Необходимо из формы внести данные в базу данных. Таблицу в которую должны вносится записи называется product. При создании бд mysql,...

9
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
08.09.2013, 21:18
Числовые типы не заключают в кавычки. Помимо в данной вставке не указаны поля «info» и «phone». В запросе ниже теперь они есть и записывают пустые строки.
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
$query = mysql_query(
    "INSERT INTO
        orders (
            name,
            s_name,
            address,
            email,
            date,
            time,
            product,
            prod_id,
            price,
            qty,
            info,
            phone
        ) VALUES (
            '$name',
            '$s_name',
            '$address',
            '$email',
            '$date',
            '$time',
            '$product[title]',
            $product[id],
            $product[price],
            '$quantity',
            '',
            ''
        )"
);
0
4 / 4 / 3
Регистрация: 06.09.2013
Сообщений: 89
08.09.2013, 21:56  [ТС]
Цитата Сообщение от TAB Посмотреть сообщение
Числовые типы не заключают в кавычки. Помимо в данной вставке не указаны поля «info» и «phone». В запросе ниже теперь они есть и записывают пустые строки.
не получается, все равно не получается.

Добавлено через 9 минут
Цитата Сообщение от TAB Посмотреть сообщение
Числовые типы не заключают в кавычки. Помимо в данной вставке не указаны поля «info» и «phone». В запросе ниже теперь они есть и записывают пустые строки.
Вы исправили только для продукта, а у меня не вносятся имя и фамилия
0
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
08.09.2013, 23:34
Всё, понял! Логическая ошибка в условии. Нужно ж добавлять заказ когда он оформлен. Стр. 75.
PHP
1
2
3
if ($_SESSION['cart'] && isset($_POST['order'])) {
// Логика вставки в БД
}
Поскольку у Вас вкл. 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
$query = mysql_query(
    "INSERT INTO
        orders (
            name,
            s_name,
            address,
            email,
            date,
            time,
            product,
            prod_id,
            price,
            qty,
            info,
            phone
        ) VALUES (
            '$name',
            '$s_name',
            '$address',
            '$email',
            '$date',
            '$time',
            '$product[title]',
            $product[id],
            $product[price],
            '$quantity',
            '$info',
            '$phone'
        )"
);
0
4 / 4 / 3
Регистрация: 06.09.2013
Сообщений: 89
08.09.2013, 23:48  [ТС]
Цитата Сообщение от TAB Посмотреть сообщение
Всё, понял! Логическая ошибка в условии. Нужно ж добавлять заказ когда он оформлен. Стр. 75.
Код PHP
1
2
3
if ($_SESSION['cart'] && isset($_POST['order'])) {
// Логика вставки в БД
}
Поскольку у Вас вкл. 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
$query = mysql_query(
* * "INSERT INTO
* * * *orders (
* * * * * *name,
* * * * * *s_name,
* * * * * *address,
* * * * * *email,
* * * * * *date,
* * * * * *time,
* * * * * *product,
* * * * * *prod_id,
* * * * * *price,
* * * * * *qty,
* * * * * *info,
* * * * * *phone
* * * *) VALUES (
* * * * * *'$name',
* * * * * *'$s_name',
* * * * * *'$address',
* * * * * *'$email',
* * * * * *'$date',
* * * * * *'$time',
* * * * * *'$product[title]',
* * * * * *$product[id],
* * * * * *$product[price],
* * * * * *'$quantity',
* * * * * *'$info',
* * * * * *'$phone'
* * * *)"
);
и какой код должен получиться ?
такой ?
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
46
47
48
<?
}
if($_SESSION['cart'] && !isset($_POST['order']))
{
      $query = mysql_query(
    "INSERT INTO
        orders (
            name,
            s_name,
            address,
            email,
            date,
            time,
            product,
            prod_id,
            price,
            qty,
            info,
            phone
        ) VALUES (
            '$name',
            '$s_name',
            '$address',
            '$email',
            '$date',
            '$time',
            '$product[title]',
            $product[id],
            $product[price],
            '$quantity',
            '$info',
            '$phone'
        )"
);
      foreach($_POST as $ArrKey => $ArrStr) {
      $ArrKey = $_POST[$ArrKey];
 
}
 
$date = date('Y-m-d');
$time = date('H:i:s');
 
     foreach($_SESSION['cart'] as $id => $quantity):
         $product = get_product($id);
     endforeach;
     
}
?>
0
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
09.09.2013, 00:00
Запрос можно и в одну строчку, отформатировал лишь для удобства чтения.
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
if ( $_SESSION['cart'] && isset($_POST['order']) ) {
    /* Это вообще тут нужно? */
    foreach($_POST as $ArrKey => $ArrStr) {
        $ArrKey = $_POST[$ArrKey];
    }
    /***/
 
    $timestamp  = time();
    $date       = date('Y-m-d', $timestamp);
    $time       = date('H:i:s', $timestamp);
    foreach ($_SESSION['cart'] as $id => $quantity) {
        $product    = get_product($id);
        $query      = mysql_query(
            "INSERT INTO
                orders (
                    name,
                    s_name,
                    address,
                    email,
                    date,
                    time,
                    product,
                    prod_id,
                    price,
                    qty,
                    info,
                    phone
                ) VALUES (
                    '$name',
                    '$s_name',
                    '$address',
                    '$email',
                    '$date',
                    '$time',
                    '$product[title]',
                    $product[id],
                    $product[price],
                    '$quantity',
                    '$info',
                    '$phone'
                )"
        );
    }
}
0
4 / 4 / 3
Регистрация: 06.09.2013
Сообщений: 89
09.09.2013, 00:08  [ТС]
ничего, вот, что получается
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
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- [url]http://www.phpmyadmin.net[/url]
--
-- Хост: localhost
-- Время создания: Сен 08 2013 г., 20:07
-- Версия сервера: 5.1.44
-- Версия PHP: 5.3.1
 
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
 
/*!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 utf8 */;
 
--
-- База данных: `shop`
--
 
-- --------------------------------------------------------
 
--
-- Структура таблицы `orders`
--
 
CREATE TABLE IF NOT EXISTS `orders` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `product` VARCHAR(100) NOT NULL,
  `prod_id` INT(11) NOT NULL,
  `price` DECIMAL(8,3) NOT NULL,
  `qty` VARCHAR(10) NOT NULL,
  `name` text NOT NULL,
  `s_name` VARCHAR(100) NOT NULL,
  `address` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `date` DATE NOT NULL,
  `time` TIME NOT NULL,
  `info` text NOT NULL,
  `phone` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=221 ;
 
--
-- Дамп данных таблицы `orders`
--
 
INSERT INTO `orders` (`id`, `product`, `prod_id`, `price`, `qty`, `name`, `s_name`, `address`, `email`, `date`, `time`, `info`, `phone`) VALUES
(220, 'Nokia 920.1 Lumia Yellow', 3, 19.000, '1', '', '', '', '', '2013-09-08', '20:05:28', '', '');
0
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
09.09.2013, 00:17
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
46
if ( $_SESSION['cart'] && isset($_POST['order']) ) {
    /* Нужна серъёзная проверка */
    $name       = mysql_real_escape_string($_POST['name']);
    $s_name     = mysql_real_escape_string($_POST['s_name']);
    $address    = mysql_real_escape_string($_POST['address']);
    $email      = mysql_real_escape_string($_POST['email']);
    $info       = mysql_real_escape_string($_POST['info']);
    $phone      = mysql_real_escape_string($_POST['phone']);
    /* *** */
    $timestamp  = time();
    $date       = date('Y-m-d', $timestamp);
    $time       = date('H:i:s', $timestamp);
    foreach ($_SESSION['cart'] as $id => $quantity) {
        $product    = get_product($id);
        $query      = mysql_query(
            "INSERT INTO
                orders (
                    name,
                    s_name,
                    address,
                    email,
                    date,
                    time,
                    product,
                    prod_id,
                    price,
                    qty,
                    info,
                    phone
                ) VALUES (
                    '$name',
                    '$s_name',
                    '$address',
                    '$email',
                    '$date',
                    '$time',
                    '$product[title]',
                    $product[id],
                    $product[price],
                    '$quantity',
                    '$info',
                    '$phone'
                )"
        );
    }
}
1
4 / 4 / 3
Регистрация: 06.09.2013
Сообщений: 89
09.09.2013, 00:24  [ТС]
Спасибо огромное) все работает) вы мне очень помогли.
0
Заблокирован
09.09.2013, 13:55
Факт должен храниться в одном месте, и это место не та ж через которую тут все сделано. Много еще будет интересного с таким скриптом.

Добавлено через 4 минуты
После

Цитата Сообщение от TAB Посмотреть сообщение
/* Нужна серъёзная проверка */
все делается в цикле из трех строк. Если пост чего-то недодает - можно добавить вручную, но скорее всего это будет признак гавнокода какой-бы малюсенькой не была какашка. Например после

Цитата Сообщение от TAB Посмотреть сообщение
/* *** */
добавляется текущее время. Как будто сервер сам не может это сделать для поля timestamp.

Добавлено через 3 минуты
Оказывается я цитировал не с кода ТС, ну, не важно. Ответ был для ТС.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2013, 13:55
Помогаю со студенческими работами здесь

Не вносит данные в базу
$res возвращает false. почему?И как правильно? &lt;?php $author=$_SESSION; $text=$_POST; $poluchatel=$_POST; ...

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

Считать данные из MySQL в таблицу
Только начал изучать PHP + MySQL + html и захотел написать запоминалку регестрационных данных на сайтах в базе храню 3 поля (Название...

Не добавляются данные в таблицу MySQL
Доброго времени суток. Пожалуйста, помогите решить проблему. Есть HTML-форма, куда пользователь вводит данные. Есть база в MySQL. ...

Не добавляются данные в таблицу MySQL
Добрый день всем! Столкнулся с проблемой. Есть БД MySQL. В ней 5 таблиц. Все создавал и заполнял с помощью java. Для таблицы Order метод...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru