MySQL server version for the right syntax to use near '-1' at line 1 MySQL server version for the right syntax to use near '-1' at line 1
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

MySQL server version for the right syntax to use near '-1' at line 1

Started by Zevs, October 19, 2007, 08:32:25 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Zevs

Ïîñëå ïåðååçäà, ïðè ïîïûòêå ïðîñìîòðà ôîòîê èç ðàçäåëà ñëó÷àéíûå ôîòî, ïîëó÷àþ îøèáêó

QuoteWhile executing query "SELECT * FROM galpictures WHERE approved = 'YES'  ORDER BY RAND() LIMIT -1" on 0

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 '-1' at line 1

Èíôîðìàöèÿ î õîñòèíãå:

Quote==========================
VERSION INFO :
------------------
PHP version: 4.4.6 - OK
------------------
mySQL version: 4.1.22-log
------------------
Coppermine version: 1.4.13(stable)
==========================
Module: GD
------------------
GD Version: bundled (2.0.28 compatible)
FreeType Support: 1
FreeType Linkage: with freetype
T1Lib Support: 1
GIF Read Support: 1
GIF Create Support: 1
JPG Support: 1
PNG Support: 1
WBMP Support: 1
XBM Support: 1
JIS-mapped Japanese Font Support:

==========================
Module: mysql
------------------
MySQL Supportenabled
Active Persistent Links 0
Active Links 1
Client API version 5.0.37
MYSQL_MODULE_TYPE none
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE no value
MYSQL_LIBS no value
==========================
Module: zlib
------------------
ZLib Support enabled
Compiled Version 1.2.3
Linked Version 1.2.3
==========================
Server restrictions (safe mode)?
------------------
Directive | Local Value | Master Value
safe_mode | On | On
safe_mode_exec_dir | /sata1/home/:/usr/bin/:/usr/local/bin/ | ./
safe_mode_gid | Off | Off
safe_mode_include_dir | /sata1/home/:.:/usr/local/share/pear/ | ./:/usr/local/share/pear/
safe_mode_exec_dir | /sata1/home/:/usr/bin/:/usr/local/bin/ | ./
sql.safe_mode | Off | Off
disable_functions | no value | no value
file_uploads | On | On
include_path | ./:/usr/local/share/pear/ | ./:/usr/local/share/pear/
open_basedir | /tmp/:/tmp:/sata1/home/users/loganclub/ | no value
==========================
email
------------------
Directive | Local Value | Master Value
sendmail_from | no value | no value
sendmail_path | /usr/sbin/sendmail -t -i  | /usr/sbin/sendmail -t -i
SMTP | localhost | localhost
smtp_port | 25 | 25
==========================
Size and Time
------------------
Directive | Local Value | Master Value
max_execution_time | 180 | 600
max_input_time | 60 | 60
upload_max_filesize | 5M | 5M
post_max_size | 6M | 6M
==========================
Page generated in 2.637 seconds - 21 queries in 1.257 seconds - Album set : ; Meta set: ;

Àé íèä õåëï !!!! :(

Alex Revo

À íà ñòàðîì õîñòå êàêàÿ âåðñèÿ MySQl áûëà?
Âîçìîæíî ÷òî ïðîáëåìà èìåííî â ýòîì.

Zevs

На старом была вроде 4.0.18-log. Но то, что другая - 100%.

Вопрос в другом - как запустить на этой версии ? где ковырнуть ?

Alex Revo

êîâûðíè êîä, ïðîáëåìà â òîì, ÷òî çàïðîñ ïûòàåòñÿ âûáðàòü -1 çàïèñü, âìåñòî 1.
ïðàâèëüíûé çàïðîñ SELECT * FROM galpictures WHERE approved = 'YES'  ORDER BY RAND() LIMIT 1

Zevs

У меня есть глюк в модуле случайного вывода - выдает ошибку. ругается на LIMIT -1

Alex Revo

Ó ìåíÿ 5é è âñå ðàáîòàåò.
Ïîñìîòðè îòêóäà áåðåòñÿ ýòîò ìèíóñ è óáåðè åãî.

Zevs

Что значит убери ? Я ж код сам не правил - если у меня он появляется - значит у всех должен. Или я не прав ?

Alex Revo

Ìîæåò è äîëæåí, íî ÿ ãàëåðåþ âñåãäà òîëüêî âðó÷íóþ îáíîâëÿþ è ìîãó ïðîïóñòèòü íåêðèòè÷íûå èçìåíåíèÿ â êîäå ðàçíûõ âåðñèé, ïîòîìó ó ìåíÿ ìîæåò è ðàáîòàåò, à ó òåáÿ íåò.
Ñîáñòâåííî ÿ íà÷àë íå ñ ýòîãî, à ñ ïðåäëîæåíèÿ ïîñìîòðåòü îêòóäà îí âîîáùå áåðåòñÿ!
Ðàçáåðåìñÿ ñ ïðè÷èíîé, íàéäåì êàê óñòðàíèòü ñëåäñòâèÿ.

Makc666

Îòêóäà îí áåðåòñÿ ìû ñêàçàòü ìîæåò.

 ôàéëå:
functions.inc.php

Åñòü òàêàÿ ôóíêöèÿ:
function get_pic_data

function get_pic_data($album, &$count, &$album_name, $limit1=-1, $limit2=-1, $set_caption = true)

 íåé ïî óìîë÷àíèþ ïåðåìåííîé $limit2 ïðèñâàèâàåòñÿ çíà÷åíèå -1

Äàëåå ýòî çíà÷åíèå ïîïàäàåò â ñòðîêó:
$limit .= ($limit2 != -1) ? ' ,'. $limit2 : '';

×òî îçíà÷àåò, åñëè ïåðåìåííàÿ $limit2 íå ðàâíà -1 , òî ïåðåìåííàÿ $limit2 ðàâíà çíà÷åíèþ, êîòîðîå áûëî ïåðåäàíî â ôóíêöèþ function get_pic_data

À äàëüøå ýòà ïåðåìåííàÿ $limit2 ïîïàäàåò/èñïîëüçóåòñÿ â êîäå:

Åñëè êîëè÷åñòâî èçîáðàæåíèé áîëüøå 1000
if ($pic_count > 1000)

òî èñïîëüçóåòñÿ êîä:
$result = cpg_db_query("SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE  randpos IN ($random_num_set) AND approved = 'YES' $ALBUM_SET ORDER BY RAND() LIMIT $limit2");

èíà÷å, ò.å. ìåíüøå 1000,
} else {

òî èñïîëüçóåòñÿ êîä:
$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' $META_ALBUM_SET ORDER BY RAND() LIMIT $limit2";

Ñîîòâåòñòâåííî ê Âàì, óâàæàåìûé âîïðîñ, ÷òî ó Âàñ ñåé÷àñ ïðîïèñàíî â
Êîíôèã -> Îòîáðàæåíèå ñïèñêà àëüáîìîâ -> Ñîäåðæàíèå ãëàâíîé ñòðàíèöû

Ïðÿì ñêîïèðóéòå íàì îòòóäà âñ¸ ñòðîêó...

P.S. Ó ìåíÿ ê Âàì òàêàÿ ïðîñüáà...

 ìîìåíò, êîãäà ó Âàñ äàííàÿ îøèáêà âîñïðîèçâîäèòüñÿ, ïîæàëóéñòà:

 ôàéëå:
functions.inc.php

Ïîæàëóéñòà, ïîïðîáóéòå çàìåíèòü ñòðîêó:
function get_pic_data($album, &$count, &$album_name, $limit1=-1, $limit2=-1, $set_caption = true)

íà ñòðîêó:
function get_pic_data($album, &$count, &$album_name, $limit1="-1", $limit2="-1", $set_caption = true)

È çàìåíèòü ñòðîêó:
$limit .= ($limit2 != -1) ? ' ,'. $limit2 : '';

íà ñòðîêó:
$limit .= ($limit2 != "-1") ? ' ,'. $limit2 : '';

È ïîñìîòðèòå, íå èñ÷åçíåò ñëó÷àéíî ýòà îøèáêà èëè íåò.

Zevs

Спасибо за проявленный интерес и помощь в решении моей проблемы !!!

Теперь отвечаю на вопросы:
Содержание главной страницы - breadcrumb/catlist/alblist/random,2/lastup,2

Ошибка возникает в блоке рандом.

Строки в function.inc.php изменил - ничего не изменилось.

Подключаюсь к БД с помощью SQLylog  - пытаюсь вручную выполнить этот запрос. Так вот  - с минусом - всегда ошибка. И не важно, в кавычках -1 или нет.
Может кто-то прояснит - что означает именно -1 ?
LIMIT 1 понимаю - ограничить выборку одним значением - а минус один ?!  ???


Alex Revo

Äà, ïðîáëåìà èìåííî â ýòîì, çàïðîñ ïûòàåòñÿ ïîëó÷èòü âûáîðêó èç -1 ýëåìåíòà, ÷òî è ïðèâîäèò ê îøèáêå.

Ìíå êàæåòñÿ òåïåðü ñòîèò ïîïðîáîâàòü èçìåíèòü óêàçàííûå ñòðîêè ïðîñòî óáðàâ ýòîò ìèíóñ.

Zevs

Что самое интересное - просто если заменить "-1" на "1" - ошибка вылазит уже в другом месте  - и тоже с -1. Т.е. нужно глобально переделывать.
Неужели ни у кого на MySQL 5  нету такой ?

Makc666

Quote from: Zevs on December 06, 2007, 12:16:22 PM
×òî ñàìîå èíòåðåñíîå - ïðîñòî åñëè çàìåíèòü "-1" íà "1" - îøèáêà âûëàçèò óæå â äðóãîì ìåñòå  - è òîæå ñ -1. Ò.å. íóæíî ãëîáàëüíî ïåðåäåëûâàòü.
Íåóæåëè íè ó êîãî íà MySQL 5  íåòó òàêîé ?
Äàííàÿ îøèáêà ñ MySQL íå ñâÿçàíà.

Äàííàÿ îøèáêà ñâÿçàíà êîíêðåòíî ñ âàøåé êîíôèãóðàöèåé ìàøèíû è âñåãî ñêîðåå ñ íåâåðíîé îáðàáîòêîé php ÷àñòè êîäà.  php òîæå îøèáêè áûâàþò, êîòîðûé òîæå èñïðàâëÿþòñÿ.

Êàêîé ó Âàñ php âåðñèè?
Ïðîáîâàëè îáíîâèòñÿ äî 5.2.5?
Íåò ëè ó Âàñ êàêîãî-íèáóäü àêñåëåðàòîðà íà ñàéòå?
Êàêîé ó Âàñ SQL âåðñèè (÷èñòî ðàäè èíòåðåñà)?

Ôàéëû ïðîáîâàëè â àâòîìàòè÷åñêîì ðåæèìå íà ñàéò çàíîâî ïåðåçàëèâàòü?

Zevs

Отвечаю:

Operating system: FreeBSD
PHP: 5.2.4
Accelerator: N/A
Database  MySQL 5.0.45-log

обновлять ничего не могу - хостинг не мой.

Файлы перезаливать не пробовал. Перезалью - отпишусь

Zevs

Сегодня обновил галерею (т.е. перезалил все файлы) - проблема как была, так и осталась :(

Makc666

Quote from: Zevs on January 31, 2008, 11:40:55 AM
Ñåãîäíÿ îáíîâèë ãàëåðåþ (ò.å. ïåðåçàëèë âñå ôàéëû) - ïðîáëåìà êàê áûëà, òàê è îñòàëàñü :(
Âñ¸ òàêè ÿ äóìàþ ÷òî âàì íóæíî

  • ïîïðîáîâàòü "îáíîâèòü" php
  • ïîïðîáîâàòü óñòàíîâèòü ÷èñòóþ âåðñèþ ãàëåðåè è ïîñìîòðåòü, áóäåò ëè òàì òàêàÿ æå îøèáêà

Zevs

Докладываю.
На чисто установленной галерее таких глюков нет. Может быть это может быть связано с содержимым галереи ? Какой-нибудь сдвиг ?
Случайно обнаружил, что нормально показывается только картинка с pos=-5. Остальные (например, -6 или -1)  - фиг - критическая ошибка.

Makc666

Quote from: Zevs on February 18, 2008, 04:10:08 PM
Äîêëàäûâàþ.
Íà ÷èñòî óñòàíîâëåííîé ãàëåðåå òàêèõ ãëþêîâ íåò. Ìîæåò áûòü ýòî ìîæåò áûòü ñâÿçàíî ñ ñîäåðæèìûì ãàëåðåè ? Êàêîé-íèáóäü ñäâèã ?
Ñëó÷àéíî îáíàðóæèë, ÷òî íîðìàëüíî ïîêàçûâàåòñÿ òîëüêî êàðòèíêà ñ pos=-5. Îñòàëüíûå (íàïðèìåð, -6 èëè -1)  - ôèã - êðèòè÷åñêàÿ îøèáêà.
×èíèòü "ñòàðóþ" áàçó äàííûõ ïðîáîâàëè?

Zevs

А есть какой-нибудь встроенный "чинильщик" или "пересчитывальщик" ?
Собственно база галереи и база форума  - одна на двоих (у меня интеграция с punbb)

Alex Revo

Встроенный чинильщик есть в PhpMyAdmin. Операции - проверить, оптимизировать, восстановить.