Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 16.02.2014
Сообщений: 5
1

Поблема с гостевой

15.04.2014, 22:06. Просмотров 514. Ответов 1
Метки нет (Все метки)

Добрый день!Подскажите как исправить ошибку, второй день мучаюсь ничего не получается!Взял пример Гостевой книги из пособия. Протестил на локальном компьютере(Версия MySQL-5.5.25), все работает отлично, но когда перенес скрипт к себе на сайт на платном хостинге(Версия MySQL 5.1.70), вылезла такая вот ошибка:

Произошла исключительная ситуация (ExceptionMySQL) при обращении к СУБД MySQL.

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 'WHERE hide = 'show' ORDER BY putdate DESC' at line 2
SELECT COUNT(*) FROM
WHERE hide = 'show'
ORDER BY putdate DESC

Ошибка в файле /home/p/phpformcom/public_html/class/class.pager_mysql.php в строке 46.

Вот сам клас:class.pager_mysql.php
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
  // Выставляем уровень обработки ошибок 
  // (http://www.softtime.ru/info/articlephp.php?id_article=23)
  error_reporting(E_ALL & ~E_NOTICE);
 
  class pager_mysql extends pager
  {
    // Имя таблицы
    protected $tablename;
    // WHERE-условие
    protected $where;
    // Критерий сортировки ORDER
    protected $order;
    // Количество позиций на странице
    private $pnumber;
    // Количество ссылок слева и справа
    // от текущей страницы
    private $page_link;
    // Параметры
    private $parameters;
    // Конструктор
    public function __construct($tablename, 
                                $where = "",
                                $order = "",
                                $pnumber = 10, 
                                $page_link = 3, 
                                $parameters = "")
    {
      $this->tablename  = $tablename;
      $this->where      = $where;
      $this->order      = $order;
      $this->pnumber    = $pnumber;
      $this->page_link  = $page_link;
      $this->parameters = $parameters;
    }
    public function get_total()
    {
      // Формируем запрос на получение
      // общего количества записей в таблице
      $query = "SELECT COUNT(*) FROM {$this->tablename}
                {$this->where}
                {$this->order}";
      $tot = mysql_query($query);
      if(!$tot) 
      {
        throw new ExceptionMySQL(mysql_error(), 
                                 $query,
                                 "Ошибка подсчёта количества записей");
      }
      return mysql_result($tot, 0);
    }
    public function get_pnumber()
    {
      // Количество позиций на старнице
      return $this->pnumber;
    }
    public function get_page_link()
    {
      // Количество ссылок слева и справа
      // от текущей страницы
      return $this->page_link;
    }
    public function get_parameters()
    {
      // Дополнительные параметры, которые
      // необходимо передать по ссылке
      return $this->parameters;
    }
    // Возвращает массив строк файла, по 
    // номеру страницы $index
    public function get_page()
    {
      // Текущая страница
      $page = intval($_GET['page']);
      if(empty($page)) $page = 1;
      // Количество записей в файле
      $total = $this->get_total();
      // Вычисляем число страниц в системе
      $number = (int)($total/$this->get_pnumber());
      if((float)($total/$this->get_pnumber()) - $number != 0) $number++;
      // Проверяем попадает ли запрашиваемый номер 
      // страницы в интервал от 1 до get_total()
      if($page <= 0 || $page > $number) return 0;
      // Извлекаем позиции текущей страницы
      $arr = array();
      // Номер, начиная с которого следует
      // выбирать строки файла
      $first = ($page - 1)*$this->get_pnumber();
      // Извлекаем позиции для текущей страницы
      $query = "SELECT * FROM {$this->tablename}
                {$this->where}
                {$this->order}
                LIMIT $first, {$this->get_pnumber()}";
      $tbl = mysql_query($query);
      if(!$tbl)
      {
        throw new ExceptionMySQL(mysql_error(), 
                                 $query,
                                 "Ошибка извлечений позиций");
      }
      // Если имеется хотя бы один элемент,
      // заполняем массив $arr
      if(mysql_num_rows($tbl))
      {
        while($arr[] = mysql_fetch_array($tbl));
      }
      // Удаляем последний нулевой элемент 
      // массива $arr
      unset($arr[count($arr) - 1]);
 
      return $arr;
    }
  }
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2014, 22:06
Ответы с готовыми решениями:

Поблема с функцией в БД
Здраствуйте, вообщем я сейчас занимаюсь курсовой, которую надо завтра сдать, КП по базам данных в...

Поблема с formater(%4d)
public class formatedTable { public static void main(String args) { int student=2;...

Поблема с табуляцией
1. public static void main(String args) { String header =...

поблема с MS Word
привет! Ворд некоторые русские слова подчеркивает красным светом. пишу я их правильно, самые...

1
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
16.04.2014, 11:23 2
Цитата Сообщение от Ivan! Посмотреть сообщение
SELECT COUNT(*) FROM
WHERE hide = 'show'
ORDER BY putdate DESC
после FROM должно быть название таблицы, возможно у вас оно не подхватывается
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2014, 11:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Поблема с записью в сокет
Добрый день, есть QbyteArray, который я пытаюсь передать по сокету: Серверная часть: ...

Поблема в маштобировании страницы
Задача простая нужно сделать так, чтобы при увеличении страницы небыло полосы прокрутки снизу, то...

Поблема с работой в Safari
Всем привет. Столкнулся с такой проблемой, не работает смена цвета фона в сафари, в &lt;div...

Поблема с выводом сортировки на экран
вот программа она выдаёт мне на экран (смотрите скрин). Нужно сделать так чтобы на экране...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.