Задавайте вопросы, мы ответим
Вы не зашли.
Можно ли сделать без хранимых процедур, так как хостер не поддерживает.
Поясню, в одной таблице хранится значение сколько записей выводить, надо sql запросом подставить это значение в LIMIT,
что-товроде SELECT * FROM x LIMIT (SELECT y FORM z)
Неактивен
нет, только константы
Неактивен
Если у хостера MySQL 5, то Вас спасут PREPARED STATEMENTS:
http://dev.mysql.com/doc/refman/5.0/en/sqlps.html
(версию сервера MySQL можно выяснить с помощью команды SELECT VERSION()
PREPARE lim FROM 'SELECT ... FROM table_name LIMIT ?, ?';
SELECT ... INTO @start;
SELECT ... INTO @end;
-- обратите внимание: SELECT'ы должны быть скалярными,
-- т.е. возвращать только одну строку, содержащую один столбец
EXECUTE lim USING @start, @end;
Ну или можете прямо сразу результаты нужных SELECT'ов загнать в строку, а потом уже из нее приготовить выражение.
Только не забудьте, что они живут одну сессию.
Неактивен
Как вариант - подготовить запрос в PHP/Perl/то,-что-у-Вас-используется и отправить уже
в MySQL LIMIT с константой.
Неактивен
Благодарю, LazY, все заработало,
вот что получилось:
SELECT value INTO @limit FROM settings WHERE anchor LIKE '#reviewscount#';
SET @sql = CONCAT('select * from reviews ',' LIMIT ',@limit);
PREPARE stmt FROM @sql;
EXECUTE stmt;
php в моем случае не подходит,
так как я себе такой шаблонизатор сделал,
где есть только html шаблоны,
класс шаблонизатора и mysql таблицы,
теперь пытаюсь одним sql обойтись
Неактивен