mysqli_query
mysqli_query — эта функция выполняет запрос к базе данных mysql. Перед использованием mysqli_query нужно установить соединение с сервером mysql с помощью функции mysqli_connect.
Синтаксис фунции mysqli_query:
mysqli_query(mysqli link, string query[, int resultmode]);
Параметры функции:
mysqli link
переменная содержащая идентификатор подключения к серверу mysql.
string query
сформированный запрос к базе данных mysql.
int resultmode
переменная содержащая константу: MYSQLI_USE_RESULT или MYSQLI_STORE_RESULT. Если параметр не указан, то используется MYSQLI_STORE_RESULT.
В случае удачного завершения выполнения запроса, функция вернет TRUE. В противном случае функция вернет FALSE. Для SELECT, SHOW, DESCRIBE или EXPLAIN ,mysqli_query() вернет результат объекта.
Пример процедурного стиля:
$load = mysqli_connect("localhost", "user", "pass", "test"); /* проверка подключения */ if (mysqli_connect_errno()) { printf("Ошибка подключения: %s\n", mysqli_connect_error()); exit(); } /* Создание таблицы не возвращает результирующий набор */ if (mysqli_query($load, "CREATE TEMPORARY TABLE test LIKE City") === TRUE) { printf("Таблица test удачно создана.\n"); } /* Select запросы возвращают результирующие наборы */ if ($result = mysqli_query($load, "SELECT Name FROM City LIMIT 10")) { printf("Select возвратил %d строк.\n", mysqli_num_rows($result)); /* Освобождение результирующего набора */ mysqli_free_result($result); } /* Если для получения у вас данные больших объемов, то используем MYSQLI_USE_RESULT */ if ($result = mysqli_query($load, "SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Обратите внимание, что мы не можем выполнять функции, которые взаимодействуют с сервером, пока результирующий набор недоступен. Все попытки вернут ошибку ' out of sync ' */ if (!mysqli_query($load, "SET @a:='this will not work'")) { printf("Ошибка: %s\n", mysqli_error($load)); } mysqli_free_result($result); } /* Закрытие соединения */ mysqli_close($load);
Пример объектно-ориентированного стиля:
$load = new mysqli("localhost", " user", " pass", "test"); /* проверка подключения */ if (mysqli_connect_errno()) { printf("Ошибка подключения: %s\n", mysqli_connect_error()); exit(); } /* Создание таблицы не возвращает результирующий набор */ if ($load->query("CREATE TEMPORARY TABLE test LIKE City") === TRUE) { printf("Таблица test удачно создана.\n"); } /* Select запросы возвращают результирующие наборы */ if ($result = $load->query("SELECT Name FROM City LIMIT 10")) { printf("Select возвратил %d строк.\n", $result->num_rows); /* Освобождение результирующего набора */ $result->close(); } /* Если для получения у вас данные больших объемов, то используем MYSQLI_USE_RESULT */ if ($result = $load->query("SELECT * FROM City", MYSQLI_USE_RESULT)) { /* Обратите внимание, что мы не можем выполнять функции, которые взаимодействуют с сервером, пока результирующий набор недоступен. Все попытки вернут ошибку ' out of sync ' */ if (!$load->query("SET @a:='this will not work'")) { printf("Ошибка: %s\n", $load->error); } $result->close(); } /* Закрытие соединения */ $load->close();
Результат выполнения примера:
Таблица test удачно создана. Select возвратил 10 строк. Ошибка: Команда out of sync; Вы не можете выполнить эту команду сейчас.