2010-03-05 6 views
1

У меня есть mysqli_query заявление вроде так:Использует ли несколько mysqli_queries одно и то же соединение?

$result = mysqli_query($connection,$query) 

Я задаюсь вопросом: Если я вызываю mysqli_query несколько раз во время выполнения сценария, не использует ту же подключение к БД? Или новое соединение устанавливается каждый раз?

Спасибо,

ответ

3

Он должен использовать то же самое соединение, предоставляя вам не сказать ему, чтобы восстановить соединение.

1

mysql_query() (который отличается от mysqli_query(), но должен вести себя одинаково в этом отношении) всегда использует последнее открытое соединение, если оно не предусмотрено.

Так для этого:

$connection1 = mysqli_connect('host1'); 
$query1 = mysqli_query('SELECT column1'); 
$query2 = mysqli_query('SELECT column2'); 

$connection2 = mysqli_connect('host2'); 
$query3 = mysqli_query('SELECT column3'); 

$query и $query2 оба работают на подключение к host1 и $query3 будет работать на подключение к host2

+0

Параметр 'Функция mysqli_query' не по умолчанию до последнего открыл соединение, как будто это предшественник 'mysql_query'. Для этого ** требуется ** первый параметр для ссылки на открытое соединение mysqli или с ошибкой «недопустимый параметр». - Проверьте ручную запись. Обратите внимание, что первая версия, указанная в руководстве, - это версия ООП, которая не является функцией, а объектным методом. – Atli