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

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

08.09.2013, 20:19. Показов 2845. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru