Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Базы Данных > [MySQL] Мульти-запрос |
Автор: CyClon 27.2.2007, 17:26 | ||||
Хочу узнать, поддерживает ли PHP возможность делать несколько запросов, например так:
Или хотя бы без вывода результата...
Если такой топик уже есть - пинайте безжалостно. Добавлено @ 17:29 Если так как я написал работать не будет, есть ли альтернативные способы? Нужно выполнить запросы из файла db.sql, например. |
Автор: Бонифаций 27.2.2007, 18:26 |
зависит от версии mysql . Если до 5.0 то мультизапросы не поддерживаются вообще. Начиная с 5.0 можно посылать несколько запросов в одной строке разделенными ; но только если соединился используя специяльную опцию CLIENT_MULTI_STATEMENTS в флагах соединения. Как это делается в php - хрен его знает. Что то вроде $link = mysql_connect("localhost", "root", "xxxx",CLIENT_MULTI_STATEMENTS) |
Автор: CyClon 27.2.2007, 18:32 |
Тяжело... ![]() ![]() |
Автор: Mal Hack 27.2.2007, 20:10 |
CyClon, тебе выше все написали, неужели сложно проверить самому? |
Автор: romantik 27.2.2007, 20:11 |
а может считать файл в переменную, потом в массив explode(';',$variable) и в цикл? ![]() |
Автор: mishaSL 27.2.2007, 20:29 | ||
CyClon, я делал так из консоли вручную для заливки большого дампа:
Если на сервере разрешено, можешь попробывать из PHP. |
Автор: CyClon 27.2.2007, 21:03 |
Да, сенк за помощь, из консоли то ясно конечно, но интересует из скрипта %) Вот еще нашел инфу по UNION, буду разбираться ![]() |
Автор: Бонифаций 27.2.2007, 21:34 | ||
А если ; попадется в строковой константе в селекте например? select concat(fld,";") from tbl |
Автор: Рыжий 27.2.2007, 22:51 | ||
Сколько тогда запросов к БД будет? около 20-50 (к примеру), это не критично для сервера? |
Автор: CyClon 28.2.2007, 14:34 | ||
Конечно нет, та же PHP-Nuke бажная делала до 200 запросов на каждой странице и ее как-то терпели... Вообще, такое использовать нужно только в скриптах, запускаемых админом... Например установка CMS. |
Автор: romantik 28.2.2007, 15:28 |
у меня на сервере в секунду выполняеться около 250 запросов ![]() насчет константы - можна условие написать ![]() |
Автор: mishaSL 28.2.2007, 16:02 |
Если используешь PHP5, то можешь воспользоваться: http://ru.php.net/manual/ru/function.mysqli-multi-query.php Добавлено @ 16:11 Работает бысто и удобно. |