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:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

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 1 Guest 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. Операции - проверить, оптимизировать, восстановить.