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

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

08.09.2013, 20:19. Показов 2843. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru