Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154

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

09.03.2017, 23:22. Показов 1464. Ответов 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
13440 / 7534 / 830
Регистрация: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru