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

Как исправить ошибку в синтаксисе запроса?

19.02.2017, 11:08. Показов 822. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет!

не могу понять в чем причина ошибки.
делаю навигацию по записям, т.е. 1 | 2 | 3 и т.д.

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
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
    
    $result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM date WHERE cat_id='$cat'");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1; - ошибка тут
$total =  intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
  if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start   
    
    $result3 = mysql_query("select img, id, title, city, substring(`text` from 1 for 100), date, vote from date where cat_id='$cat' order by date desc",$db);
if (!$result3)
{
echo "<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(mysql_error());
}
if (mysql_num_rows($result3) > 0){
$myrow5 = mysql_fetch_array($result3);
 
do
{
printf ("<tr>
    <td width='30%%' rowspan='4'><div align='center'><img src='%s' width='100' height='100'></div></td>
    <td colspan='2' valign='top'><strong>Наименование:</strong> <a href='view_post.php?id=%s'>%s</a></td>
  </tr>
  <tr>
    <td colspan='2' valign='top'><strong>Город:</strong> %s</td>
  </tr>
  <tr>
    <td colspan='2' valign='top'><div><strong>Краткое описание:</strong> %s</div></td>
  </tr>
  <tr>
    <td width='30%%' valign='top'><strong>Дата публикования:</strong> %s</td>
    <td width='30%%' valign='top'><strong>Рейтинг:</strong> %s</td>
  </tr>",$myrow5["img"],$myrow5["id"],$myrow5["title"],$myrow5["city"],$myrow5["substring(`text` from 1 for 100)"],$myrow5["date"],$myrow5["vote"]);
}
while ($myrow5 = mysql_fetch_array($result3));
    // Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=professional_services.php?cat='.$cat.'&page=1>Первая</a> | <a href=professional_services.php?cat='.$cat.'&page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=professional_services.php?cat='.$cat.'&page=' .$total. '>Последняя</a>';
 
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=professional_services.php?cat='.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=professional_services.php?cat='.$cat.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=professional_services.php?cat='.$cat.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=professional_services.php?cat='.$cat.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=professional_services.php?cat='.$cat.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
 
if($page + 5 <= $total) $page5right = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=professional_services.php?cat='.$cat.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
 
// Вывод меню если страниц больше одной
 
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\" align='center'>";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
else
{
echo "<div align='center'>Информация по запросу не может быть извлечина, в таблице нет записей!</div>";
//exit();
}
 
  ?>
выдает ошибку - Warning: Division by zero in Z:\home\uslugi\www\professional_services .php on line 96

заранее благодарю
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2017, 11:08
Ответы с готовыми решениями:

как исправить эту ошибку (не удается получить схему для этого запроса)
SELECT Товары., Товары., Товары.количество, SUM(Nz(.количество)) AS Расход, Товары.количество - Расход...

Запрос на поиск выдает ошибку ошибка синтаксиса (пропущен оператор в выражении запроса), как исправить?
DM.MaterialQuery.SQL.Add('SELECT Materiali.ID_materiala, Materiali.Tip_materiala, Materiali.Name_materiala, Materiali.Edinica,...

Исправить ошибку, которая возникает при выполнения запроса (SqlCom.ExecuteNonQuery())
Работаю с бд Access первый раз! Помогите исправить ошибку которая возникает при выполнения запроса (SqlCom.ExecuteNonQuery()). Я так...

12
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
19.02.2017, 11:28
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
Warning: Division by zero
На ноль делите. Приведите 96 строку из файла professional_services.php.
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
19.02.2017, 11:41
Вот тут
PHP
1
$total = (($posts - 1) / $num) + 1;
у Вас происходит деление на ноль когда $num равна нулю
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
19.02.2017, 12:20  [ТС]
Igsit, нашел ошибку. но теперь выводит ошибку - 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 '-3, 3' at line 1 если в данной категории нету записей. можно это как не будь обойти?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
19.02.2017, 13:28
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
можно это как не будь обойти?
Sql-запрос покажите целиком.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
19.02.2017, 13:31
kuzmich-kz,
Цитата Сообщение от pav1uxa Посмотреть сообщение
Sql-запрос покажите целиком.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
19.02.2017, 13:34
Приведи полный текст запроса, который выдает данную ошибку
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
19.02.2017, 13:57  [ТС]
Jewbacabra, переводил и мне ничего не дал этот перевод

Добавлено через 1 минуту
там три запроса и какой именно показать? в коде есть
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
19.02.2017, 13:58
kuzmich-kz,
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
переводил
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Приведи полный текст запроса
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
какой именно показать
тот, который выдает ошибку
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
19.02.2017, 14:01  [ТС]
Jewbacabra,
SQL
1
SELECT img, id, title, city, SUBSTRING(`text` FROM 1 FOR 100), DATE, vote FROM DATE WHERE cat_id='$cat' ORDER BY DATE DESC, id LIMIT $start, $num
если я не ошибаюсь
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
19.02.2017, 14:09
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
если я не ошибаюсь
НУ не совсем. Нужно какой запрос получается по факту, после подстановки всех переменных.
PHP
1
2
3
// mysql_query("SELECT img, id, title, city, SUBSTRING(`text` FROM 1 FOR 100), DATE, vote FROM DATE WHERE cat_id='$cat' ORDER BY DATE DESC, id LIMIT $start, $num");
echo "SELECT img, id, title, city, SUBSTRING(`text` FROM 1 FOR 100), DATE, vote FROM DATE WHERE cat_id='$cat' ORDER BY DATE DESC, id LIMIT $start, $num";
exit();
Тут мануал как можно искать ошибки в своем коде.
0
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 275
19.02.2017, 18:11  [ТС]
ни у кого идей нету?
0
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
19.02.2017, 23:05
Цитата Сообщение от kuzmich-kz Посмотреть сообщение
ни у кого идей нету?
Вам же говорят покажите запрос, Jewbacabra сказал Вам как именно это сделать, идеи появятся когда увидим запрос, возможно появятся и у Вас )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2017, 23:05
Помогаю со студенческими работами здесь

Ошибка в синтаксисе запроса
Привет всем! Делаю такой запрос: SELECT FROM WHERE LIKE 'A%' LIMIT 5 ...мне выдает ошибку &quot;Syntax error (missing...

Ошибка в синтаксисе запроса
Добрый день! Имеется такой запрос $query = &quot;SELECT inc.id, inc.regnumber AS reg, inc.dateIn AS datein, org.name AS orgname,...

Ошибка в синтаксисе запроса
Доброго времени. Подскажите в чем ошибка. procedure TForm1.sSpeedButton4Click(Sender: TObject); var i:Integer; ...

Ошибка в синтаксисе запроса....В чем именно?
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use...

ошибку в синтаксисе
я новичок код CurrentDb.Execute &quot;INSERT INTO Прот_ФИО ( Прт_Код, ФИО_Код ) SELECT &quot; &amp; Me.Прт_Код &amp; &quot; AS Прт_Код, ФИО_Код FROM...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru