Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 00:18   #1
webber9989
dimgunkin
Форумчанин
 
Аватар для webber9989
 
Регистрация: 06.05.2010
Сообщений: 112
По умолчанию Опять синтаксис

Есть строка:
PHP код:
    $mysql_query "SELECT `ip`,`q_port`,`c_port`,`s_port`,`type`, `rating` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE `disabled` = 0 AND `status` = 1 ORDER BY `vipslot` DESC, `rating` DESC, `id` LIMIT `$start`, `$num`"
При выполнении пишет:
Цитата:
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 '0`, `3`' at line 1
Поправьте плз, буду благодарен!
mail: dimgunkin@gmail.com
skype: dimgunkin
icq: 684-795-212
webber9989 вне форума Ответить с цитированием
Старый 23.06.2010, 00:54   #2
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

PHP код:
  $mysql_query "SELECT `ip`,`q_port`,`c_port`,`s_port`,`type`, `rating` FROM ".$lgsl_config['db']['prefix'].$lgsl_config['db']['table']." WHERE disabled=0 AND status=1 ORDER BY vipslot DESC, rating DESC  LIMIT `".$start."`, `$num`"
А так ?
а что такое $lgsl_config['db']['prefix'] ?
На самом деле проще было бы если вы вывели в echo результат $mysql_query чтобы посмотреть что из всего этого вышло

Последний раз редактировалось slips; 23.06.2010 в 00:58. Причина: редактирование
slips вне форума Ответить с цитированием
Старый 23.06.2010, 00:56   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Уберите апострофы в определении LIMIT Вашего запроса:
Код:
... LIMIT {$start}, {$num}";
ну или же как предлагает slips - но всё равно без апострофов:
Код:
... LIMIT ". $start .", ". $num ;

Последний раз редактировалось Andkorol; 23.06.2010 в 00:59. Причина: вариант 2
Andkorol вне форума Ответить с цитированием
Старый 23.06.2010, 01:02   #4
webber9989
dimgunkin
Форумчанин
 
Аватар для webber9989
 
Регистрация: 06.05.2010
Сообщений: 112
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Уберите апострофы в определении LIMIT Вашего запроса:
Код:
... LIMIT {$start}, {$num}";
спасиб, помогло =)

Цитата:
А так ?
а что такое $lgsl_config['db']['prefix'] ?
На самом деле проще было бы если вы вывели в echo результат $mysql_query чтобы посмотреть что из всего этого вышло
Честно, я не знаю зачем там $lgsl_config['db']['prefix'] воткнули, без него всё прекрасно работает
Наверное проще, не могу поспорить....
mail: dimgunkin@gmail.com
skype: dimgunkin
icq: 684-795-212
webber9989 вне форума Ответить с цитированием
Старый 23.06.2010, 01:02   #5
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Да действительно апострофы там лишие , сцепливание строк лучше делать через точку а не встраивать переменную в ковычки
slips вне форума Ответить с цитированием
Старый 23.06.2010, 01:03   #6
webber9989
dimgunkin
Форумчанин
 
Аватар для webber9989
 
Регистрация: 06.05.2010
Сообщений: 112
По умолчанию

Спасиб вам парни за помощь ещё раз =)
mail: dimgunkin@gmail.com
skype: dimgunkin
icq: 684-795-212
webber9989 вне форума Ответить с цитированием
Старый 23.06.2010, 01:16   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Честно, я не знаю зачем там $lgsl_config['db']['prefix'] воткнули, без него всё прекрасно работает
Скорее всего это сделано для удобства размещения баз данных разных ресурсов на одном сервере MySQL(имею ввиду - на одном аккаунте)...
Это - префикс таблиц БД.(напр. "a_", "b_")
Например - есть сайты А и В,их базы идентичны по составу таблиц и находятся на одном аккаунте.Вот для разделения и нужен префикс таблицы (a_table1, a_table2, ... - и,соответственно b_table1, b_table2, ...)
Это - хорошая практика,потому как проще указать один раз префикс - чем прописывать при необходимости его во всех запросах проекта...
В Вашем случае "всё работает и так" потому что у таблиц в БД нет префикса - в конфиге $lgsl_config['db']['prefix'] = ''; (просто table1, table2, ...).

Последний раз редактировалось Andkorol; 23.06.2010 в 01:21. Причина: comment
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис си dr.Chas Общие вопросы C/C++ 3 04.01.2010 18:25
Непонятный синтаксис. jojahti Общие вопросы C/C++ 10 14.10.2009 19:05
синтаксис оператора like Bezdar Microsoft Office Excel 2 26.03.2009 09:27
И опять мэйлы.. Опять... Pusher PHP 6 28.06.2008 03:08