![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Perl_sapiens |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Привет. Вот код пхп:
А вот результат:
Что не так, кто знает? В phpMyAdmin все прекрасно выполняется Это сообщение отредактировал(а) Perl_sapiens - 7.4.2008, 15:25 |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
кто тебе сказал, что mysql_query поддерживает multistatesment-запросы? тебя обманули. чтоб выполнять несколько запросов в одном вызове функции, используй mysqli.
в то же время, ничего не мешает использовать для mysql_query: для выборки и для вызoва found_rows() |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Э... неочень понял последнюю твою фразу...
И по поводу mysqli - |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Perl_sapiens, не надо пихать два запроса в один вызов mysql_query
надо сделать два вызова. |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Сделал:
В $numrow[0] содержится 30, а я ожидаю число 81. ----- Вот когда в phpMyAdmin выполняешь вышеуказанный запрос, то он еще умудряется попутно узнать Сколько_Всего_Записей_получилось_в_этом_запросе: Показывает записи 0 - 29 (81 всего, Запрос занял 0.0121 сек). Вот как мне это сделать самому? На др. форуме сказали это юзать: SELECT FOUND_ROWS();, но как видите, выдает че-то не то... |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
По поводу:
skyboy, имел ввиду наверное это mysql_num_rows Если сильно хочется делать несколько запросов за раз, то: http://ru2.php.net/mysqli_multi_query -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| Perl_sapiens |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
||||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
mishaSL, нет, я имел в виду SQL-функцию found_rows, которая, в отличие от php'шной mysql_num_rows() возвращает количество строк, которое было бы выбрано, если бы не ограничение по limit.
Perl_sapiens, в select должна быть директива SQL_CALC_FOUND_ROWS. у тебя она где? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Perl_sapiens, а на др. форуме не сказали, что в основном запросе надо писать SQL_CALC_FOUND_ROWS?
по поводу же пхпмайадмина, если так уж хочется делать, как он, то это не запрещено: руками отрезать от запроса LIMIT и смотреть, сколько строк вернет всего mishaSL, я не думаю, что он имел в виду mysql_num_rows =) |
|||
|
||||
| Perl_sapiens |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Хорошо. А теперь представь, что строк не 81, а 4млн. Эт долго будет и тупо.
Нет))) Тупо сказали и всё, замолчали. Только на Винграде я получаю быстро ответы(эт честно, без "лизаний") skyboy, спс за разъяснение. Всё заработало как надо. Это сообщение отредактировал(а) Perl_sapiens - 7.4.2008, 17:13 |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
тем не менее, если текст между select и from заменить на count(*), а именно так, насколько мне известно, поступает пхпмайадмин, получится умно и быстро.
|
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 7 Всего: 54 |
Сори, не вник до конца в тему Perl_sapiens, как вариант и без особых проблем, делаешь 2 запроса: 1. COUNT(*) - считаешь сколько там строк 2. выбираешь поля которые тебе надо с LIMIT Добавлено через 4 минуты Perl_sapiens, если еще представите структуру таблиц и описание что вы хотите получить, то можно еще и запрос попробовать оптимизировать -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |