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

PHP запросы к БД

18.01.2013, 23:03. Показов 1189. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Не могу понять почему не работает данный скрипт. То есть ошибок не показывает, но он и не работает.
1. Не происходит запись в БД;
2. В ответ от скрипта приходит "false".

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
<?php
Include "Config.php";
 
if ((!empty($_POST['id'])) && (!empty($_POST['key']))) {
    $id = $_POST['id'];
    $key = $_POST['key'];
    
    $auth_key = md5($api_id."_".$id."_".$api_secret);
    
    if ($key == $auth_key) {
        $link = mysql_connect($mysql_host, $mysql_user, $mysql_password)
        or die("Could not connect : " . mysql_error());
        mysql_query('SET NAMES utf8');
        mysql_select_db($mysql_database) or die("Could not select database");
    
        $sql_1 = "SELECT * FROM players WHERE id = '$id'";
        $result_1 = mysql_query($sql_1);
        
        if ($result_1 == 0) {
            $sql_2 = "INSERT INTO players (id, key) VALUES ('$id', '$key')";
            mysql_query($sql_2);
            
            echo json_encode(mysql_fetch_array($result_1));
        }else{
            echo json_encode(mysql_fetch_array($result_1));
        }
    }else{
        echo "Error key!";
    }
}else{
    echo "Error post data!";
}
?>
Структура БД:
SQL
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `players` (
  `id` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL,
  `key` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL,
  `experience` INT(32) NOT NULL DEFAULT '50',
  `money` INT(32) NOT NULL DEFAULT '1000'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Спасибо!

Добавлено через 2 часа 15 минут
Переписал код:
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
<?php
Include "Config.php";
 
if ((!empty($_POST['id'])) && (!empty($_POST['key']))) {
    $id = $_POST['id'];
    $key = $_POST['key'];
    
    $auth_key = md5($api_id."_".$id."_".$api_secret);
    
    if ($key == $auth_key) {
        $link = mysql_connect($mysql_host, $mysql_user, $mysql_password)
        or die("Could not connect : " . mysql_error());
        mysql_query('SET NAMES utf8');
        mysql_select_db($mysql_database) or die("Could not select database");
        
        $query = "SELECT * FROM `players` WHERE `id` = `".$id."`";
        
        if (mysql_query($query)) {
            mysql_query("INSERT INTO `players`(`id`, `key`) VALUES (`".$id."`,`".$key."`)");
            echo json_encode(mysql_fetch_array(mysql_query($query)));
        }else{
            echo json_encode(mysql_fetch_array(mysql_query($query)));
        }
    }else{
        echo "Error key!";
    }
}else{
    echo "Error post data!";
}
?>
Может проблема в структуре базы данных?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2013, 23:03
Ответы с готовыми решениями:

PHP и запросы в бд
Подскажите пожалуйста, пробую организовать что-то в роде социальной сети. Столкнулся с вопросом, допустим человек заходит на страницу...

PHP и БД запросы
Ошибка Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in W:\domains\localhost\page2.php:21 Stack trace: #0...

PHP запросы
Доброе утро всем! Прошу помощи помогите чем сможете! Есть поля где вводится фио и должность: &lt;div...

11
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
18.01.2013, 23:08
Цитата Сообщение от pie Посмотреть сообщение
(id, key)
попробуйте убрать из запроса

Добавлено через 56 секунд
и покажите список полей с их типами пожалуйста
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.01.2013, 23:10
Цитата Сообщение от pie Посмотреть сообщение
PHP
1
2
$id  = $_POST['id'];
$key = $_POST['key'];
PHP
1
2
$id  = mysql_real_escape_string($_POST['id']);
$key = mysql_real_escape_string($_POST['key']);
Добавлено через 1 минуту
только строчку с mysql_connect выше строчки с присвоением поставьте
0
 Аватар для korep
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
18.01.2013, 23:11
и если не ошибаюсь у вас все поля не нулевые, а значит необходимо и им присвоить значение, т.к. все integer киньте в них 0
0
18.01.2013, 23:15

Не по теме:

php нетипизированный язык

0
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
18.01.2013, 23:26  [ТС]
Сделал так:
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
<?php
Include "Config.php";
 
if ((!empty($_POST['id'])) && (!empty($_POST['key']))) {
    $link = mysql_connect($mysql_host, $mysql_user, $mysql_password)
    or die("Could not connect : " . mysql_error());
    mysql_query('SET NAMES utf8');
    mysql_select_db($mysql_database) or die("Could not select database");
    
    $id  = mysql_real_escape_string($_POST['id']);
    $key = mysql_real_escape_string($_POST['key']);
 
    $auth_key = md5($api_id."_".$id."_".$api_secret);
    
    if ($key == $auth_key) {
        
        $result = mysql_query("SELECT * FROM players WHERE id = '".$id."'");
        
        if (!$result) {
            mysql_query("INSERT INTO players (id, key) VALUES ('".$id."','".$key."')");
            //echo json_encode(mysql_fetch_array($result));
        }else{
            //echo json_encode(mysql_fetch_array($result));
        }
    }else{
        echo "Error key!";
    }
}else{
    echo "Error post data!";
}
?>
Таблица:
SQL
1
2
3
4
`id` VARCHAR(32) DEFAULT NULL,
`key` VARCHAR(32) DEFAULT NULL,
`experience` INT(32) NOT NULL DEFAULT '50',
`money` INT(32) NOT NULL DEFAULT '1000'
Пришлось закомментировать echo json_encode(mysql_fetch_array($result)); ибо ругался на нее. Но в БД все равно не добавляет. Может нужно настроить хостинг?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.01.2013, 23:36
а так?
PHP
1
echo json_encode(mysql_fetch_assoc($result));
Добавлено через 7 минут
Цитата Сообщение от pie Посмотреть сообщение
PHP
1
mysql_query("INSERT INTO players (id, key) VALUES ('".$id."','".$key."')");
PHP
1
mysql_query("INSERT INTO `players` (`id`, `key`) VALUES ('".$id."','".$key."')");
1
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
18.01.2013, 23:37  [ТС]
Так работает, но записи по прежнему не происходит. И поэтому, скорее всего, в ответ скрипт отправляет "false".
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.01.2013, 23:38
запрос изменили на указанный выше?
0
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
18.01.2013, 23:46  [ТС]
К сожалению так же. База данных не заполняется.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.01.2013, 23:48
добавьте в конце вывод ошибок
PHP
1
mysql_query(.....) or die(mysql_error());
выводит что-нибудь?
0
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 124
19.01.2013, 00:01  [ТС]
Я проверил. Оказывается в ответ приходит второй json. То есть вот эта строчка:
PHP
1
2
3
4
5
6
7
if (!$result) {
     mysql_query("INSERT INTO `players` (`id`, `key`) VALUES ('".$id."','".$key."')");
     echo json_encode(mysql_fetch_assoc($result));
}else{  
     echo json_encode(mysql_fetch_assoc($result)); //< Эта строчка возвращается
     echo "Error!";
}
Получается я не правильно проверку $result сделал?

Добавлено через 10 минут
Изменил проверку на:
PHP
1
if (@mysql_num_rows($result) == 0) {
Запись в БД происходит. Всем спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2013, 00:01
Помогаю со студенческими работами здесь

Php запросы в mssql
Всем привет! Подскажите пожалуйста почему через обычный запрос всё выводится, а через PDO ошибки и только тут всё норм отображается...

POST запросы PHP
Есть игра mrush.mobi. Она браузерная, а большинство действий происходит через GET-запросы. Но что-бы они работали, нужно войти на сайт,...

Асинхронные запросы в php
здравствуйте. Я пытаюсь понять, как пишется код для асинхронного запроса на sql. Пожалуйста, можете написать пример самой простой программы...

PHP http запросы
r = s.get(&quot;http://admin:tykerb99z@control.charles/session/export-json&quot;, proxies={'http': 'http://127.0.0.1:8899'}) ...

PHP запросы к каталогам!
Пользователю предлагается ввести на странице имя некоторого каталога и данные запроса. Запросы следующие: 1-отсортировать файлы заданного...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru