0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
1

не выводит данные Ошибка

16.04.2016, 11:37. Показов 1044. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день при попытке вывести данные с бд выдает ошибку
Сразу говорю что знания на школьном уровне

Есть таблица истории куда заносится история показателей игрового сервера. Возникла идея вывести колонку "skill" пользователя.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    
    $player = (int)$_GET['id'];
    // SQL-запрос
    
    $result1 = "SELECT t1.`skill`-(SELECT `skill` FROM `$csstats_table_History` t2 WHERE t2.`id`='$player' and t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1) FROM `$csstats_table_History` t1 WHERE t1.`id`='$player'";
    
    // Выполнить запрос (набор записей $rs2 содержит результат)
    $rs2 = mysql_query($result1) || die(mysql_error());
 
    // Цикл по набору записей $rs
        while($rowh = mysql_fetch_assoc($rs2)) {
   
       // Записать значение 
      echo  вот тут возникли вопросы, как мне вывести ? что здесь необходимо прописать ?   ;
     
}
    // Закрыть соединение с БД
    mysql_close();
    ?>

Добавил проверку ошибок
$rs2 = mysql_query($result1) || die(mysql_error());

выбивает ошибку
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

которая ссылается на
while($rowh = mysql_fetch_assoc($rs2))


Подскажите как решить проблему с ошибкой, и как вывести данные ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2016, 11:37
Ответы с готовыми решениями:

Как в php сделать поиск? Вводить данные, нажимать на кнопку, скрипт по базе ищет данные и выводит
Можно ли в php сделать поиск? Вводить данные например, нажимать на кнопку и он по базе ищет эти...

Не выводит данные в ListBox - где ошибка?
Добрый день господа-товарищи. Я пару недель назад интересовался у вас подсказкой на счет вывода...

Не выводит данные в поле по запросу (ошибка поиска по значению)
Здравствуйте! Последняя надежда на вас, Уважаемые! Не работает поиск по качеству и поиск по...

Ошибка: выводит не данные скролла, а <body> П.с. использую плагин для скролла jquery-mousewheel
Ошибка: выводит не данные скролла, а &lt;body&gt;. То есть должно выводить переменную, которая отображает...

16
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
16.04.2016, 15:14 2
echo $rowh['skill'];

Добавлено через 1 минуту
Это туда где вы спросили что не знаете как вывести
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
16.04.2016, 16:07 3
После 6-й строки вставьте
PHP
1
var_dump($result1);
И покажите результат
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
17.04.2016, 10:34  [ТС] 4
Цитата Сообщение от cia Посмотреть сообщение
После 6-й строки вставьте
PHPВыделить код
1
var_dump($result1);
И покажите результат
Цитата Сообщение от arava Посмотреть сообщение
echo $rowh['skill'];
Добавлено через 1 минуту
Это туда где вы спросили что не знаете как вывести
Вот что выдает после выполнения того что сказали
string(184) "SELECT t1.`skill`-(SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' and t2.`date` Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

Добавлено через 8 часов 47 минут
перепробовал кучу решений с такой ошибкой не помогает. Может еще кто то подскажет варианты решения.
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
17.04.2016, 11:15 5
Текст "оборван". В браузере нажмите Ctrl+U (исходный html) и скопируйте, пожалуйста, от туда.

Добавлено через 30 секунд
После
Цитата Сообщение от xanter1984 Посмотреть сообщение
t2.`date`
ещё должен быть текст, до закрывающей кавычки.
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 09:20  [ТС] 6
Цитата Сообщение от cia Посмотреть сообщение
ещё должен быть текст, до закрывающей кавычки.

string(184) "SELECT t1.`skill`-(SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' and t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1) FROM `History_players` t1 WHERE t1.`id`='5215'"

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

Добавлено через 27 минут
вставив во вкладку SQL в phpmyadmin

SQL
1
SELECT t1.`skill`-(SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' AND t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1) FROM `History_players` t1 WHERE t1.`id`='5215'
выводит все что мне нужно, а в скрипте ошибка

Добавлено через 16 часов 42 минуты
Может из-за того что в запросе идет подсчет разницы со следующим значение и первое значение всегда будет NULL
тогда как мне сделать ?
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 10:19  [ТС] 7
Вот выкладываю скриншот где я проверил работу запроса.
Запрос обрабатывает все что мне нужно. Как я понимаю запрос не срабатывает в скрипте из-за того что начало всегда будет NULL подскажите как обмануть скрипт чтоб выводил. Может есть возможность NULL в скрипте заменить на значение (к примеру 100) Подскажите буду очень благодарен.
Миниатюры
не выводит данные Ошибка  
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
18.04.2016, 13:23 8
Проверьте подключение к базе данных в этом скрипте. Другие sql-запросы "рядом" проходят?

Добавлено через 15 минут
И, да из-за NULL могут быть проблемы.
Убрать можно так:
SQL
1
SELECT t1.`skill`-IFNULL((SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' AND t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1),0) FROM `History_players` t1 WHERE t1.`id`='5215'
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 13:55  [ТС] 9
Цитата Сообщение от cia Посмотреть сообщение
Проверьте подключение к базе данных в этом скрипте. Другие sql-запросы "рядом" проходят?
Другие рядом работают, проходят

Цитата Сообщение от cia Посмотреть сообщение
И, да из-за NULL могут быть проблемы.
Убрать можно так:
SQLВыделить код
1
SELECT t1.`skill`-IFNULL((SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' AND t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1),0) FROM `History_players` t1 WHERE t1.`id`='5215'
Все равно Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
18.04.2016, 14:13 10
Лучший ответ Сообщение было отмечено xanter1984 как решение

Решение

Заметил косяк.

Цитата Сообщение от xanter1984 Посмотреть сообщение
$rs2 = mysql_query($result1) || die(mysql_error());
Исправь так:
PHP
1
2
$rs2 = mysql_query($result1);
if(!$rs2) die(mysql_error());
Иначе в $rs2 попдает результат логической операции "||"
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 14:30  [ТС] 11
Цитата Сообщение от cia Посмотреть сообщение
PHPВыделить код

$rs2 = mysql_query($result1);
if(!$rs2) die(mysql_error());
Иначе в $rs2 попдает результат логической операции "||"
Теперь ошибки нету но нету значений. Выдает пустую страницу

Добавлено через 3 минуты
Хотя значений должно быть около 100
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
18.04.2016, 14:33 12
так покажите код, который вывод данных осуществляет.
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 14:48  [ТС] 13
Цитата Сообщение от cia Посмотреть сообщение
так покажите код, который вывод данных осуществляет.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    
    $player = (int)$_GET['id'];
    // SQL-запрос
    
    $result1 = "SELECT t1.`skill`-IFNULL((SELECT `skill` FROM `$csstats_table_History` t2 WHERE t2.`id`='$player' and t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1),0) FROM `$csstats_table_History` t1 WHERE t1.`id`='$player'";
    
    // Выполнить запрос (набор записей $rs2 содержит результат)
   $rs2 = mysql_query($result1);
   if(!$rs2) die(mysql_error());
 
 
    // Цикл по набору записей $rs
        while($rowh = mysql_fetch_assoc($rs2)) {
   
       // Записать значение 
      echo $rowh['skill'];
     
}
    // Закрыть соединение с БД
    mysql_close();
    ?>
После чего пустое выдает


добавив
Цитата Сообщение от cia Посмотреть сообщение
var_dump($result1);
Получил:
string(194) "SELECT t1.`skill`-IFNULL((SELECT `skill` FROM `History_players` t2 WHERE t2.`id`='5215' and t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1),0) FROM `History_players` t1 WHERE t1.`id`='5215'"

Вбил этот запрос в phpmyadmin
получаю то что нужно смотрите скрин

Чего оно не хочет выводить ? Почему ?
Миниатюры
не выводит данные Ошибка  
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
18.04.2016, 14:54 14
Лучший ответ Сообщение было отмечено xanter1984 как решение

Решение

Потому что $rowh['skill'] не существует. В SQL-запрос добавьте "AS skill"

Добавлено через 33 секунды
PHP
1
$result1 = "SELECT t1.`skill`-IFNULL((SELECT `skill` FROM `$csstats_table_History` t2 WHERE t2.`id`='$player' and t2.`date`<t1.`date` ORDER BY t2.`date` DESC LIMIT 1),0) AS skill FROM `$csstats_table_History` t1 WHERE t1.`id`='$player'";
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
18.04.2016, 15:08  [ТС] 15
Цитата Сообщение от cia Посмотреть сообщение
Потому что $rowh['skill'] не существует. В SQL-запрос добавьте "AS skill"
ОООО спасибо теперь выводит

и еще последний вопрос как вывести последние 10 значений
0
95 / 67 / 24
Регистрация: 19.12.2014
Сообщений: 324
18.04.2016, 15:37 16
LIMIT 0,10
0
0 / 0 / 0
Регистрация: 02.07.2015
Сообщений: 68
20.04.2016, 02:52  [ТС] 17
Цитата Сообщение от cia Посмотреть сообщение
LIMIT 0,10
Все разобрался большое спасибо cia, очень помог
0
20.04.2016, 02:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 02:52
Помогаю со студенческими работами здесь

в одной форме ввожу данные об ученике выводится результат со второй формы но не выводит данные с перовой форм
Тут такая проблема в одной форме ввожу данные об ученике на второй форме есть программа для...

Не выводит данные
&quot;Написать класс, который реализует функционал работы с массивом, создать методы: введение массива,...

Не выводит данные из БД
Help! Никак не могу понять в чем ошибка, может вы увидите. C подключением все норм Выдает ошибку...

Не выводит данные
не пойму что с кодом не так.есть сценарий в котором выводятся данные с БД с помощью...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru