Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154

Пагинация страниц:вылезает ошибка--mysql_fetch_array() expects parameter 1 to be resource

09.03.2017, 23:22. Показов 1485. Ответов 17

Студворк — интернет-сервис помощи студентам
Пробую сделать пагинацию страниц по этому видеоуроку
https://www.youtube.com/watch?... e=youtu.be

на времени 6:33 в видео вырезается скрипт который выводит только 5 записей на странице,
этот скрипт(я его вручную у себя прописал) выдает у меня ошибку,а у автора видео проблем нет.

Может я что то не так прописал?

Полностью ошибки такие


Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\OpenServer\domains\localhost\navi\nav .php on line 49



Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\OpenServer\domains\localhost\navi\nav .php on line 61



Полный код примера,вместе со скриптом--назван part1

PHP/HTML
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Пример постраничной навигации</title>
</head>
<body>
    
<?
 
$host='localhost';
$user='root';
$pswd='';
$db='navi';
 
 
$connect=mysql_connect($host,$user,$pswd);
mysql_set_charset('utf8',$connect);
 
if(!$connect || !mysql_select_db($db,$connect)){
 
echo 'Ошибка подключения к БД';
exit;
}
 
//part 1
//mysql_fetch_array — Обрабатывает ряд результата запроса, 
//возвращая ассоциативный массив, численный массив или оба
 
$num=2;
$page=$_GET['page'];
$result00=mysql_query("SELECT COUNT(*) FROM articles");
$temp=mysql_fetch_array($result00);
$posts=$temp[0];
$total=(($posts-1)/$num)+1;
$total=intval($page);  //intval — Возвращает целое значение переменной
$page=intval($page);
 
if(empty($page) or $page<0) $page=1;
if($page>$total) $page=$total;
$start=$page*$num-$num;
 
 
 
$query=mysql_query("SELECT * FROM articles order by id desc LIMIT $start, $num");
 
$row=mysql_fetch_array($query); //ТУТ ВОЗНИКАЕТ ОШИБКА ЭТО 49 СТРОКА
 
 
do{
 
echo $row['title'];
echo "<br/>";
echo $row['text'];
echo "<br/>";
echo "<br/>";
}
 
while ($row=mysql_fetch_array($query)) // И ТУТ ТОЖЕ ВОЗНИКАЕТ ОШИБКА ЭТО 61 СТРОКА
    
 
 
 
 
?>
 
 
 
 
</body>
</html>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2017, 23:22
Ответы с готовыми решениями:

Ошибка mysql_fetch_array() expects parameter 1 to be resource
Хочу добавить постраничную навигацию на сайт. При написании данного кода выдает ошибку Warning: mysql_fetch_array() expects parameter 1 to...

Ошибка Warning: mysql_fetch_array() expects parameter 1 to be resource
Помогите, пожалуйста. Есть код &lt;?php $query_subj = &quot;SELECT name FROM table_subject&quot;; $result_subj = mysql_query($query_subj); ...

Ошибка Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
Понимаю, что глупый вопрос, но что только уже не перетыкал. Не понимаю, что не нравится ему. Выдаёт ошибку &quot;Warning:...

17
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
09.03.2017, 23:28
PHP
1
$query=mysql_query("SELECT * FROM articles order by id desc LIMIT $start, $num") or die(mysql_error());
1
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
09.03.2017, 23:28
Цитата Сообщение от TVPNERO Посмотреть сообщение
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
...означает, что ваш запрос был ошибочным, и мускул выдал не набор записей из базы, а ошибку
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 15:10  [ТС]
Dmitry, и где же тогда ошибка в запросе?

Добавлено через 2 минуты
Jewbacabra, если прописать так

PHP
1
$query=mysql_query("SELECT * FROM articles order by id desc LIMIT $start, $num") or die(mysql_error());
то возникает следующее предупреждение
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 '-2, 2' at line 1

У меня стоит MySQL версии 5.6.Но где ошибка в синтаксисе хз
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
10.03.2017, 15:13
TVPNERO, у вас лимит начинается с отрицательного числа $start = -2 поэтому и ошибки
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 15:27  [ТС]
Виталюска, где -2 ?
Это не мой скрипт поэтому всю логику кода я не понимаю,пока что.

Добавлено через 2 минуты
Виталюска, $start=$page*$num-$num;

даже если допустить что в этой строке,то если $page=0 а num- num это 2 минус 2.
то в этом выражении start должен равняться нулю.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
10.03.2017, 15:31
Лучший ответ Сообщение было отмечено TVPNERO как решение

Решение

Цитата Сообщение от TVPNERO Посмотреть сообщение
то в этом выражении start должен равняться нулю.
а ошибка говорит об обратном

Цитата Сообщение от TVPNERO Посмотреть сообщение
MySQL server version for the right syntax to use near '-2, 2' at line 1
Добавлено через 1 минуту
Цитата Сообщение от TVPNERO Посмотреть сообщение
$start=$page*$num-$num;
Цитата Сообщение от TVPNERO Посмотреть сообщение
$page=0 а num- num это 2 минус 2.
$start = 0 * 2 - 2 = 0 - 2 = -2
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 15:46  [ТС]
Виталюска, так то оно так но тогда почему у автора видео все получилось если скрипт такой же.


а есть ли способ как узнать что есть в переменной $page?
помоему должна быть внутрення функция в пхп для вывода значения переменной на экран

Добавлено через 2 минуты
а нашел
var_dump

проверю переменные
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
10.03.2017, 15:46
Цитата Сообщение от TVPNERO Посмотреть сообщение
а есть ли способ как узнать что есть в переменной $page?
PHP
1
echo 'Переменная $page = '.$page;
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 16:03  [ТС]
Виталюска, да $page=0 но почему если прописано условие
PHP
1
if(empty($page) || $page<=0) $page=1;
Добавлено через 9 минут
Виталюска,
с вашей помощью я нашел проблему.Большое спасибо.

ошибка была тут
PHP
1
2
3
4
if($page>$total) $page=$total;
 
а нужно было
if($page>$total) $page минус $total;
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.03.2017, 21:43
Какая гениальная конструкция
PHP
1
2
3
4
5
$row=mysql_fetch_array($query);
do {
    // ...
}
while ($row=mysql_fetch_array($query));
Товарищу с ютуба самому еще учиться и учиться, а не других обучать

Цитата Сообщение от TVPNERO Посмотреть сообщение
PHP
1
$total=(($posts-1)/$num)+1;
PHP
1
$total = (int) ceil($posts / $num);
0
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 22:28  [ТС]
Jewbacabra, а чем данный способ
PHP
1
$total = (int) ceil($posts / $num);
лучше предыдущего?(кроме лаконичности,конечно)

Я еще правда не разбирал логику всего скрипта.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.03.2017, 22:34
Цитата Сообщение от TVPNERO Посмотреть сообщение
лучше предыдущего?(кроме лаконичности,конечно)
Лучше читается, за счет отсутствия ненужных -1 +1.
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 22:57  [ТС]
Jewbacabra, Ясно.Спасибо.

А не знаете откуда бертся значение page вот тут
PHP
1
$page=$_GET['page'];
?

не знаю правильно ли сформировал вопрос,то есть я раньше допустим создавал Инпут для ввода имейла,например
HTML5
1
<input type="email" name="mail">
и чтоб обработать значение формы

создавал переменную в которую передавалось значение Инпута с name="mail"

PHP
1
$email=$_GET['mail']

а в этом скрипте ,мне непонятно откуда берется page,может это предустановленое по умолчанию обозначение страницы?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.03.2017, 23:07
Из строки запроса, в данном случае должно быть что-то такое
HTML5
1
<a href="/mypage.php?page=10">10</a>
1
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
10.03.2017, 23:13  [ТС]
Jewbacabra, благодарю.
0
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
18.03.2017, 15:48  [ТС]
А еще на 59 строке забыл поставить точку с запятой

вот тут
PHP
1
while ($row=mysql_fetch_array($query))
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
18.03.2017, 19:13
Цитата Сообщение от TVPNERO Посмотреть сообщение
вот тут
тут не нужна точка с запятой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2017, 19:13
Помогаю со студенческими работами здесь

Ошибка Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given
Доброго времени суток. Не могу найти решения проблемы, возникает ошибка: Warning: mysql_fetch_array() expects parameter 1 to be resource,...

Выводится ошибка mysql_fetch_array() expects parameter 1 to be resource, либо Unknown column 'значение переменной $prname' in WHERE clause
Здравствуйте! Прошу помочь, перерыл много чего, решения нет. Имеется такой код: &lt;?php ...

mysql_fetch_array() expects parameter 1 to be resource
Здравствуйте. $tape22 = mysql_query(&quot;SELECT * FROM `editiontepes` WHERE `e`='$e' end `otvrod`='$otvrod'&quot;,$db); $reztape2 =...

Mysql_fetch_array() expects parameter 1 to be resource
Никак не могу понять что за ошибка. Warning: mysql_fetch_array() expects parameter 1 to be resource, object given in...

Mysql_fetch_array() expects parameter 1 to be resource
mysql_fetch_array() expects parameter 1 to be resource на 31 строке &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ru&quot;...


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

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

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "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, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru