mysqli PHP расширение является драйвером базы данных PHP. Не быть перепутанным с базой данных MySQL.

mysqli Расширение PHP является преемником mysql Расширение PHP. Это обеспечивает низкий уровень, отображающийся на интерфейс C MySQL. Принципиальные функции расширения состоят из:

  • Объектно-ориентированный интерфейс
  • Поддержка подготовленных операторов
  • Поддержка нескольких операторов
  • Поддержка транзакций
  • Расширенная поддержка отладки
  • Встроенная поддержка сервера

Депрекация mysql расширения

mysql расширение было удержано от использования в версии 5.5 PHP и удалено в версии 7.0. Код, написанный для современных серверов, должен использовать mysqli или pdo расширения вместо этого.

В дополнение к объектно-ориентированному интерфейсу, большинству mysqli функции также обеспечивают эквивалентный процедурный интерфейс через снабженные префиксом функции mysqli_. Однако эти функции были, прежде всего, предназначены для пользователей, переходящих далеко от унаследованного кода с помощью mysql расширения. Код в современной среде, как ожидают, будет использовать объектно-ориентированное программирование.

mysqli подготовленная поддержка оператора расширения использует ? заполнители связали со ссылками на переменную для входа и ссылками на переменную, связанными со столбцами, когда выборка произвела строки. Обратите внимание на то, что для использования некоторых аспектов mysqli подготовленные операторы (прежде всего mysqli_stmt_get_result), Ваша установка PHP должна использовать Собственный Драйвер Mysql (mysqlnd), который также обеспечивает улучшенную производительность по более старому MySQL Client Library.

Простой MySQLi SELECT пример запроса:

Следующий пример получает 2 выходных столбца от a SELECT запрос с помощью и целого числа и строкового параметра.

// A form post has supplied the input values in: // $_POST['fruit'] // $_POST['age'] // Enable mysqli error reporting. Errors will be reported as exceptions mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // Open a new connection to the MySQL server. $mysqli = new mysqli("host", "user", "password", "database"); // Set the correct connection charset $mysqli->set_charset('utf8mb4'); // SQL string with input placeholders $SQL = "SELECT firstName, email FROM users WHERE favorite_fruit = ? AND age > ?"; // Prepare the statement $stmt = $mysqli->prepare($SQL); // Bind parameters: // "s" indicates a string parameter (favorite_fruit) // "i" indicates an integer parameter (age) $stmt->bind_param("si", $_POST['fruit'], $_POST['age']); // Execute the statement $stmt->execute(); // Bind result variables to fetch the columns returned: // Supply one variable for each column. Variables are bound by reference $stmt->bind_result($firstName, $email); // Fetch rows: // On each loop iteration, the variables $firstName, $email will be // populated with values from the currently fetched row. while ($stmt->fetch()) { echo "Name: $firstName, Email: $email\n"; } // Close the prepared statement (optional) $stmt->close(); 

Связанные теги