Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
1

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

26.06.2013, 16:11. Просмотров 1196. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 16:11
Ответы с готовыми решениями:

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

Посоветуйте скрипт интернет-магазина с партнерской программой.
Посоветуйте скрипт интернет-магазина с партнерской программой.

Я не могу понять, уже пишу третий скрипт, а сайт так и выдает ошибку 500)
Я не могу понять, уже пишу третий скрипт, а сайт так и выдает ошибку 500 Подскажите что в этом...

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

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

25
crautcher
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 16:16 2
Тебе-же пишет что в $row нет индекса ["power_up"]; на 19 строке
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:24  [ТС] 3
Цитата Сообщение от 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
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 16:27 4
Вместо того что-бы его пихать sql серверу выведи запрос на экран и посмотри что с ним не так.
0
26.06.2013, 16:27
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:30  [ТС] 5
Цитата Сообщение от crautcher Посмотреть сообщение
Вместо того что-бы его пихать sql серверу выведи запрос на экран и посмотри что с ним не так.
Notice: Undefined variable: weapon_1 in T:\home\virtual\test\test.php on line 5
вот что пишет. Ошибка в самом запросе, но не знаю, где она.
0
crautcher
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 16:38 6
покажи запрос
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:40  [ТС] 7
Цитата Сообщение от 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
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 16:42 8
Да не в коде епт, а уже с вставленными данными в запрос
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 16:44  [ТС] 9
Цитата Сообщение от 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
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 17:00 10
Цитата Сообщение от 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
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:26  [ТС] 11
Цитата Сообщение от 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
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 17:28 12
Цитата Сообщение от maestpro Посмотреть сообщение
А что не так с weapon_1?
Кавычки смотрите вокруг $weapon_1
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:53  [ТС] 13
Цитата Сообщение от 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
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 17:55 14
Цитата Сообщение от maestpro Посмотреть сообщение
как сделать?
Сперва один выполнить, а затем другой - через запятую нельзя
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 17:57  [ТС] 15
Цитата Сообщение от crautcher Посмотреть сообщение
Сперва один выполнить, а затем другой - через запятую нельзя
Так у меня из-за того что два запроса создается новая строка, пустая, только item_power заполнен. http://floomby.ru/s1/BYYpZ6
0
crautcher
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 18:04 16
Не создается, а ты создаешь - значит кривой алгоритм добавления или таблица криво спроектированна.
Цитата Сообщение от maestpro Посмотреть сообщение
PHP
1
$query = mysql_query("INSERT INTO `users` (`item_power`) VALUES ('$weapon_1`)")
зачем вообще добавлять новую запись с пустыми всеми полями кроме одного поля?
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 18:17  [ТС] 17
Цитата Сообщение от crautcher Посмотреть сообщение
Не создается, а ты создаешь - значит кривой алгоритм добавления или таблица криво спроектированна.
зачем вообще добавлять новую запись с пустыми всеми полями кроме одного поля?
А где именно ошибка, раз создается строка. Как видите, код обычный, так почему же создается? С таблицей все в порядке.
Как зачем? А чем мне заполнять запись?
0
crautcher
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 18:23 18
Цитата Сообщение от maestpro Посмотреть сообщение
А где именно ошибка, раз создается строка.
Это не ошибка кода, это ошибка алгоритма. Переделывать код нужно.
Цитата Сообщение от maestpro Посмотреть сообщение
А чем мне заполнять запись?
Если она есть то зачем еще одна, а если нет, то как вы узнаете к какому юзеру она пренадлежит. что-то ты вообще не то делаешь, поакжи структуру таблицы, какие там у тебя поля.
0
maestpro
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 48
26.06.2013, 18:25  [ТС] 19
Цитата Сообщение от crautcher Посмотреть сообщение
Это не ошибка кода, это ошибка алгоритма. Переделывать код нужно.
Если она есть то зачем еще одна, а если нет, то как вы узнаете к какому юзеру она пренадлежит. что-то ты вообще не то делаешь, поакжи структуру таблицы, какие там у тебя поля.
Вот структура.
0
Миниатюры
Ошибка в коде, пишу скрипт магазина  
crautcher
2022 / 1994 / 463
Регистрация: 27.05.2011
Сообщений: 6,838
26.06.2013, 18:29 20
О боже, все в одной куче. Ладно вот у тебя айди юзера есть, значит тебе нужно добавить item_power конкретному юзеру а не пустой записи.
MySQL
1
UPDATE `users` SET `item_power` = '$weapon_1' where `id` = '1'
к примеру, только где у тебя идет определение какой у меня (у юзера) айди. Можно конечно и по логину.
0
26.06.2013, 18:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 18:29

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru