Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379

Не выполняется запрос на изменение

15.04.2014, 16:28. Показов 1749. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите что не так в запросе на изменение данных
на вставку и удаление прекрасно выполняется а вот изменение не происходят

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
<?php
    $cod=$_GET['cod'];
    $name=$_GET['name'];
    $seria=$_GET['seria'];
    $avtor=$_GET['avtor'];
    $izdatelstva=$_GET['izdatelstva'];
    $ganr=$_GET['ganr'];
    $opisanie=$_GET['opisanie'];
    $kartinka=$_GET['kartinka'];
 
            $db = mysql_connect("localhost","root","");
            if($db) {
            if (mysql_select_db("book_magazin",$db)) {
            mysql_query("SET NAMES 'UTF8'");
            }
            else exit("Нет такой БД ".mysql_error());
            }
            else {
            exit("Не установлено соединение ".mysql_error());
            }
                
    mysql_query("UPDATE книги SET Название=$name, Серия=$seria, Код_автора=$avtor, Код_издательства=$izdatelstva, Код_жанра=$ganr, Аннтотация=$opisanie, Картинка=$kartinka WHERE Код=$cod");
    echo "Данные изменены в базе!";
    //header('Location: avtor.php'); 
    //exit;
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2014, 16:28
Ответы с готовыми решениями:

не выполняется запрос в коде, но выполняется в phpliteadmin
всем привет! необходима небольшая помощь, есть бд с таблицей &quot;keys&quot; и одной из колонок в ней - &quot;key&quot;. также есть запрос: SELECT...

не выполняется запрос к бд
Здравствуйте. Не выполняется запрос, ошибок не выдает. Не могу понять в чем проблема. Подскажите пожалуйста. if(isset ($_POST,...

Не выполняется запрос
Добрый день! Такая проблема: Есть две таблицы countries и city связаны по столбцу id(countries) и id_count(city) связь 1-N. Необходимо...

20
 Аватар для yamilramilev
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
15.04.2014, 16:48
Строки должны быть заключены в апострофы
PHP
1
"UPDATE книги SET Название='$name', Серия=$seria, Код_автора=$avtor, Код_издательства=$izdatelstva, Код_жанра=$ganr, Аннтотация='$opisanie', Картинка='$kartinka' WHERE Код=$cod"
1
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 16:59  [ТС]
подскажите что мне делать дальше с кнопкой купить
нужно при ее нажатии добавлять данные о товаре собранные из нескольких таблиц в таблицу продажа_товара при этом пользователь остается на той же странице что и был
кнопка
PHP
1
2
3
<tr>
                    <td>","<form method='GET' action='action1.php'><button name='kup' type='submit' value='",$row['Код_автора'],"'>Купить</button></form>","</td>
                </tr>";
после нажатия кнопки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
session_start();
 
$id_book=$_GET['kup'];
$id=$_SESSION['id'];
 
    $db = mysql_connect("localhost","root","");
    if($db) {
        if (mysql_select_db("book_magazin",$db)) {
            mysql_query("SET NAMES 'UTF8'");}
        else exit("Нет такой БД ".mysql_error());}
    else {
        exit("Не установлено соединение ".mysql_error());}
    
    $result=mysql_query("SELECT * FROM книги JOIN товар ON книги.Код=товар.Книги WHERE =$id_book");
    $result2=mysql_query("SELECT Код_покупателя FROM клиент WHERE Код_покупателя=$id");
    
    mysql_query("INSERT INTO продажа_товара(Цена, Код_покупателя,Код, Дата) VALUES($result['Цена'], $result2['Код_покупателя'], $result['Код'],date('Y-m-d'))");
сюда попадает
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
НОВЫЙ ЗАКАЗ
            <BR><BR>
            <table>
            <?php
            $id=$_SESSION['id'];
            $result2=mysql_query("SELECT  * FROM продажа_товара WHERE Код_покупателя=$id AND Дата=(SELECT Дата FROM продажа_товара WHERE Код_покупателя=$id ORDER BY Дата DESC LIMIT 1)");
            while($row=mysql_fetch_array($result2))
                {
            echo    "<tr>
                    <td>",'Номер заказа _',"</td>
                    <td>",$row['Код'],"</td>
                </tr>
                <tr>
                    <td>",'Дата заказа _',"</td>
                    <td>",$row['Дата'],"</td>
                </tr>";
                }
                if("")
                {
                
                }
            ?>
после даты заказа должны появляться таблички со сведениями о выбранном товаре
если клиент нажал кнопку оформить заказ то в базе должен сохраниться документ
если же клиент ничего не оформил то документ не будет сохранен в базе
а также нужно чтобы была возможность удалять выбранные товары
0
 Аватар для yamilramilev
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
15.04.2014, 17:05
Если хотите отправить POST запрос не покидая страницу, у меня напрашивается только один ответ: использовать ajax)
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 17:06  [ТС]
а что такое этот ajax?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 17:09
Цитата Сообщение от Эмили Посмотреть сообщение
нужно при ее нажатии добавлять данные о товаре собранные из нескольких таблиц в таблицу продажа_товара
А сейчас что не так работает?
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 17:14  [ТС]
сейчас у меня возникает ошибка при нажатии и поэтому ничего не происходит
ошибка в запросе
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 17:26
Цитата Сообщение от Эмили Посмотреть сообщение
MySQL
1
WHERE = $id_book
WHERE ЧТО равняется переменной? Нужно поле указать.
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 17:29  [ТС]
все равно проблема осталась нажимая кнопку купить указывает что в запросе ошибки
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 17:36
Текст ошибки можно?


PHP
1
 mysql_query("INSERT INTO продажа_товара(Цена, Код_покупателя,Код, Дата) VALUES($result['Цена'], $result2['Код_покупателя'], $result['Код'],date('Y-m-d'))");
Еще не крутанул текстарею далее, тут тоже значения обернуть в кавычки, элементы массива в фигурные скобки, а функцию вообще в контексте строки нельзя юзать
PHP
1
 mysql_query("INSERT INTO продажа_товара(Цена, Код_покупателя,Код, Дата) VALUES( '{$result['Цена']}', '{$result2['Код_покупателя']}', '{$result['Код']}', '" . date('Y-m-d') . "' )");
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 17:50  [ТС]
после ковычек и скобок вывел

Parse error: syntax error, unexpected '', '' (T_CONSTANT_ENCAPSED_STRING), expecting '}' in C:\xampp\htdocs\internet\action1.php on line 18
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 18:01
Покажите текущий код целиком.
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 18:02  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
session_start();
 
$id_book=$_GET['kup'];
$id=$_SESSION['id'];
 
    $db = mysql_connect("localhost","root","");
    if($db) {
        if (mysql_select_db("book_magazin",$db)) {
            mysql_query("SET NAMES 'UTF8'");}
        else exit("Нет такой БД ".mysql_error());}
    else {
        exit("Не установлено соединение ".mysql_error());}
    
    $result=mysql_query("SELECT * FROM книги JOIN товар ON книги.Код=товар.Книги WHERE Код=$id_book");
    $result2=mysql_query("SELECT Код_покупателя FROM клиент WHERE Код_покупателя=$id");
    
    mysql_query("INSERT INTO продажа_товара(Цена, Код_покупателя,Код, Дата) VALUES('{$result['Цена']}}', '{$result2['Код_покупателя']', '{$result['Код']}','".date('Y-m-d')."' )");
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 18:07
Цитата Сообщение от Эмили Посмотреть сообщение
PHP
1
'{$result2['Код_покупателя']'
фигурной скобы не хватает

p.s. После того как подправим ошибку в запросе, у вас еще не хватает фетчинга данных
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 18:11  [ТС]
запрос прошел но новых данных в базе нету

Добавлено через 2 минуты
а как сделать так чтобы при авторизации пользователя автоматически создавался новый документ при оформлении заказа он сохранялся а если пользователь вышел ничего не купив то документ просто не создавался ну или что-то в этом духе а то ведь без нового документа и вносить данные не куда
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 18:18
Да, так как mysql_query возвращает не данные, а ресурс, нужно еще сделать фетч. Вот как вы делали тут:
Цитата Сообщение от Эмили Посмотреть сообщение
PHP
1
2
$result2=mysql_query("SELECT * FROM продажа_товара WHERE Код_покупателя=$id AND Дата=(SELECT Дата FROM продажа_товара WHERE Код_покупателя=$id ORDER BY Дата DESC LIMIT 1)");
while($row=mysql_fetch_array($result2))
PHP
1
2
3
4
 $result=mysql_query("SELECT * FROM книги JOIN товар ON книги.Код=товар.Книги WHERE Код=$id_book");
    $result = mysql_fetch_assoc($result);
    $result2=mysql_query("SELECT Код_покупателя FROM клиент WHERE Код_покупателя=$id");
    $result2 = mysql_fetch_assoc($result2);
И не плохо было-бы ряд проверок добавить, а то этот код вообще небезопасный

Добавлено через 4 минуты
Цитата Сообщение от Эмили Посмотреть сообщение
а как сделать так чтобы при авторизации пользователя автоматически создавался новый документ
Что представляет из себя документ?
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 18:25  [ТС]
мне этот код вставлять на ту страницу где нужно таблицы выводить?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 18:41
На странице, где проишодит "INSERT INTO продажа_товара..." вы ипользуйте сперва выборку, а нужно помимо выборки сделать фетч.

Добавлено через 3 минуты
В идеале нужно сохранение сделать примерно таким, а то вы не учли массу возможных ошибок:
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
session_start();
 
class SaveException extends Exception {}
 
try {
  #basic check
  if (empty($_GET['kup'])) throw new SaveException('No id_book to work');
  if (empty($_SESSION['id'])) throw new SaveException('User no loggined');
 
  #basic vars
  $id_book = intval($_GET['kup']);
  $id = intval($_SESSION['id']);
  
  # connect
  if(!mysql_connect("localhost","root","")) throw new SaveException(  mysql_error() );
  if(!mysql_select_db("book_magazin")) throw new SaveException(  mysql_error() );
  mysql_query("SET NAMES 'UTF8'");
  
  # select data 1
    $result=mysql_query("SELECT * FROM книги JOIN товар ON книги.Код = товар.Книги WHERE Код = $id_book");
    if (!mysql_num_row($result)) throw new SaveException('No book with id ' . $id_book);
    $result = mysql_fetch_assoc($result);
  # select data 2
    $result2=mysql_query("SELECT Код_покупателя FROM клиент WHERE Код_покупателя = $id");
    if (!mysql_num_row($result2)) throw new SaveException('No client with id ' . $id);
    $result2 = mysql_fetch_assoc($result2);
  # if all is ok - save data
    mysql_query("INSERT INTO продажа_товара(Цена, Код_покупателя,Код, Дата) VALUES('{$result['Цена']}', '{$result2['Код_покупателя']}', '{$result['Код']}','".date('Y-m-d')."' )");
  
}
catch( SaveException $e ) {
  # error part
  echo "Error: " . $e->getMessage();
  exit(0);
}
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
15.04.2014, 18:48  [ТС]
вставила этот код и пошли ошибки
Fatal error: Call to undefined function mysql_num_row() in C:\xampp\htdocs\internet\action1.php on line 27
вот здесь
if (!mysql_num_row($result)) throw new SaveException('No book with id ' . $id_book);
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2014, 18:51
mysql_num_rows недописал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2014, 18:51
Помогаю со студенческими работами здесь

Не выполняется запрос
&lt;?php include &quot;db.php&quot;; $USERNAME = $_POST; $KEYS = $_POST; $result2 = mysqli_query($connection,&quot;SELECT key FROM users WHERE...

Не выполняется запрос
Не получается выполнить запрос к БД. При обоих вариантах выводит одну и ту же ошибку( Укажите на ошибки. $query =...

Не выполняется запрос
require 'config.php'; // Подключение к бд $login = &quot;igor&quot;; $sql = &quot;SELECT * FROM partners WHERE login = $login&quot;; $r =...

Не выполняется запрос
В общем, есть такой запрос: UPDATE `Configs` SET `Value`= '1' WHERE `ID` = '15'; Но почему-то он не выполняется, а возвращает...

Не выполняется запрос
Я решил сделать панель, где пользователь может изменить свой логин.Вот форма:&lt;p&gt;Ваш логин: &lt;form method=&quot;post&quot;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru