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

Ошибка в коде, пишу скрипт магазина

26.06.2013, 16:11. Показов 2007. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
 
$query = mysql_query("SELECT * FROM `users`") or die("MySQL Error!");
while ($line = mysql_fetch_array($query)) {
$money = $line["money"];
$health = $line["health"];
$power = $line["power"];
$agility = $line["agility"];
$concentration = $line["concentration"];
}
echo "У вас $money монет <br>";
 
$query = mysql_query("SELECT * FROM `items`")  or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$weapon_1 = $row["name"];
$power_up = $row["power_up"];
$icon = $row["icon"];
$price = $row["price"];
}
 
echo "Сила + $power_up <br>";
echo "Цена $price монет <br>";
 
if(!empty($_POST["buy_weapon_1"])) {
    if($money < $price) {
        exit ("У вас не хватает денег для покупки."); }
        if($money > $price) {
        $query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)")  or die(mysql_error());
        $query = mysql_query("UPDATE `users` SET `all_power` = $power + $power_up") or die("MySQL Error!");
        echo "Вы купили оружие. Ваша сила увеличена на $power_up .";
        }
 
}
 
 
 
?>

http://floomby.ru/s1/AYYNNy это сама страница.
http://floomby.ru/s1/sYYNNM - после нажатия Купить.
еще не отображается переменная, Сила + 5 должно быть, а там цифры 5 нет.
$power - родная сила игрока, $all_power - сила с учетом бонусов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2013, 16:11
Ответы с готовыми решениями:

Пишу крестики-нолики. Что не правильно в этом коде?
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { if(textBox1-&gt;Text==&quot;1&quot;) { ...

Скрипт магазина LezyPay
Всем привет. Предварительно извиняюсь, если тему создал не там. Я новичок в данном деле, так что строго не судите. В общем ситуация...

Скрипт интернет-магазина.
Есть Shop-Script 1.0 и Shop-Script 2.0 - дешево!!! Пишите. Договоримся.

25
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 16:16
Тебе-же пишет что в $row нет индекса ["power_up"]; на 19 строке
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:24  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Тебе-же пишет что в $row нет индекса ["power_up"]; на 19 строке
Исправил. Изначально я на другой параметр задумывал, в базе данных забыл значение поменять.
Осталась еще проблема. При нажатии на кнопку Купить выскакивает 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 ''weapon_1`)' at line 1
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 16:27
Вместо того что-бы его пихать sql серверу выведи запрос на экран и посмотри что с ним не так.
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:30  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Вместо того что-бы его пихать sql серверу выведи запрос на экран и посмотри что с ним не так.
Notice: Undefined variable: weapon_1 in T:\home\virtual\test\test.php on line 5
вот что пишет. Ошибка в самом запросе, но не знаю, где она.
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 16:38
покажи запрос
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:40  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
покажи запрос
PHP
1
2
3
4
5
6
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)")  or die(mysql_error());
?>
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 16:42
Да не в коде епт, а уже с вставленными данными в запрос
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:44  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Да не в коде епт, а уже с вставленными данными в запрос
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
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
 
$query = mysql_query("SELECT * FROM `users`") or die("MySQL Error!");
while ($line = mysql_fetch_array($query)) {
$money = $line["money"];
$health = $line["health"];
$power = $line["power"];
$agility = $line["agility"];
$concentration = $line["concentration"];
}
echo "У вас $money монет <br>";
 
$query = mysql_query("SELECT * FROM `items`")  or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$weapon_1 = $row["name"];
$power_up = $row["power_up"];
$icon = $row["icon"];
$price = $row["price"];
}
 
echo "Сила + $power_up <br>";
echo "Цена $price монет <br>";
 
if(!empty($_POST["buy_weapon_1"])) {
    if($money < $price) {
        exit ("У вас не хватает денег для покупки."); }
        if($money > $price) {
        $query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)")  or die(mysql_error());
        $query = mysql_query("UPDATE `users` SET `all_power` = $power + $power_up") or die(mysql_error());
        echo "Вы купили оружие. Ваша сила увеличена на $power_up .";
        }
 
}
 
 
 
?>

Весь код
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 17:00
Цитата Сообщение от maestpro Посмотреть сообщение
Весь код
Мне он не нужен, я не буду дебажить твой код за тебя. Я тебе сказал выведи свой ошибочный запрос на экран, а не выполняй. Затем смотри на экране что с ним не так и устрани проблему.
Цитата Сообщение от maestpro Посмотреть сообщение
PHP
1
2
3
4
5
6
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)") *or die(mysql_error());
?>
PHP
1
2
3
4
5
6
7
8
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
echo "INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)";
exit();
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)") or die(mysql_error());
?>
Добавлено через 1 минуту
вот кстати и проблема
Цитата Сообщение от crautcher Посмотреть сообщение
'$weapon_1`
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:26  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Мне он не нужен, я не буду дебажить твой код за тебя. Я тебе сказал выведи свой ошибочный запрос на экран, а не выполняй. Затем смотри на экране что с ним не так и устрани проблему.
PHP
1
2
3
4
5
6
7
8
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
echo "INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)";
exit();
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)") or die(mysql_error());
?>
Добавлено через 1 минуту
вот кстати и проблема
Вместо connect было connent, но не исправилось. А что не так с weapon_1?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 17:28
Цитата Сообщение от maestpro Посмотреть сообщение
А что не так с weapon_1?
Кавычки смотрите вокруг $weapon_1
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:53  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Мне он не нужен, я не буду дебажить твой код за тебя. Я тебе сказал выведи свой ошибочный запрос на экран, а не выполняй. Затем смотри на экране что с ним не так и устрани проблему.
PHP
1
2
3
4
5
6
7
8
<?php
session_start();
$connent = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("game");
echo "INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)";
exit();
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)") or die(mysql_error());
?>
Добавлено через 1 минуту
вот кстати и проблема
Спасибо большое

Добавлено через 4 минуты
Цитата Сообщение от crautcher Посмотреть сообщение
Кавычки смотрите вокруг $weapon_1
А можно ли сделать запрос через запятую? У меня два запроса, один добавляет данные, а другой обновляет. Вот второй запрос создает пустую строку в таблице в БД. Была такая же проблема на другой странице, исправил - просто через запятую данные прописал, а здесь два разных запроса на добавление и обновление данных. как сделать?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 17:55
Цитата Сообщение от maestpro Посмотреть сообщение
как сделать?
Сперва один выполнить, а затем другой - через запятую нельзя
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:57  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Сперва один выполнить, а затем другой - через запятую нельзя
Так у меня из-за того что два запроса создается новая строка, пустая, только item_power заполнен. http://floomby.ru/s1/BYYpZ6
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 18:04
Не создается, а ты создаешь - значит кривой алгоритм добавления или таблица криво спроектированна.
Цитата Сообщение от maestpro Посмотреть сообщение
PHP
1
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)")
зачем вообще добавлять новую запись с пустыми всеми полями кроме одного поля?
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 18:17  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Не создается, а ты создаешь - значит кривой алгоритм добавления или таблица криво спроектированна.
зачем вообще добавлять новую запись с пустыми всеми полями кроме одного поля?
А где именно ошибка, раз создается строка. Как видите, код обычный, так почему же создается? С таблицей все в порядке.
Как зачем? А чем мне заполнять запись?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 18:23
Цитата Сообщение от maestpro Посмотреть сообщение
А где именно ошибка, раз создается строка.
Это не ошибка кода, это ошибка алгоритма. Переделывать код нужно.
Цитата Сообщение от maestpro Посмотреть сообщение
А чем мне заполнять запись?
Если она есть то зачем еще одна, а если нет, то как вы узнаете к какому юзеру она пренадлежит. что-то ты вообще не то делаешь, поакжи структуру таблицы, какие там у тебя поля.
0
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 18:25  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
Это не ошибка кода, это ошибка алгоритма. Переделывать код нужно.
Если она есть то зачем еще одна, а если нет, то как вы узнаете к какому юзеру она пренадлежит. что-то ты вообще не то делаешь, поакжи структуру таблицы, какие там у тебя поля.
Вот структура.
Миниатюры
Ошибка в коде, пишу скрипт магазина  
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
26.06.2013, 18:29
О боже, все в одной куче. Ладно вот у тебя айди юзера есть, значит тебе нужно добавить item_power конкретному юзеру а не пустой записи.
MySQL
1
UPDATE `users` SET `item_power` = '$weapon_1' where `id` = '1'
к примеру, только где у тебя идет определение какой у меня (у юзера) айди. Можно конечно и по логину.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.06.2013, 18:29
Помогаю со студенческими работами здесь

Подскажите скрипт магазина
День добрый ! Будьте добры , подскажите пожалуйста скрипт хорошего интернет магазина на подобие этого betool.ru (не реклама)? За раннее...

Пишу скрипт который считывает данные с другого URL адреса
Пишу скрипт который считывает данные с другого URL адреса. И случается интересная заманушка. Сначала функции работают как надо. А при...

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать параллельное соединение с использованием...

Пишу эмулятор контроллера управления светом. Не могу найти ошибку в коде
Доброго времени суток. Помогите найти ошибку.Компилятор выдаёт вот это: 1&gt;Программа управлением света.(ConsoleVersion).obj :...

Скрипт хорошего электронного магазина
Подскажите пожалуйста где можно взять скрипт хорошего электронного магазина. Я нашол shop-script но только демо версию, а в ней не рабочий...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru