Verification: a143cc29221c9be0

Mysqli php connect and query

Mysqli php connect and query

Предварительные требования

Для целей этого краткого руководства понадобится:

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.

  • Создание отдельного сервера Базы данных Azure для MySQL с помощью портала Azure
    или с помощью Azure CLI, если он еще не создан.

  • Выполнить ОДНО из действий (в зависимости от того, пользуетесь вы общим или частным доступом), чтобы настроить возможность подключения.

    Действие Метод подключения Практическое руководство
    Настройка правил брандмауэра Общие Портал
    CLI
    Настройка конечной точки службы Общие Портал
    CLI
    Настройка приватного канала Private Портал
    CLI
  • Создание базы данных и пользователя без прав администратора.

  • Установка последней версии PHP для вашей операционной системы:

    • PHP в macOS;
    • PHP в Linux;
    • PHP в Windows

Примечание

При работе с этим кратким руководством мы используем библиотеку MySQLi для управления подключением и выполнения запросов к серверу.

Получение сведений о подключении

Чтобы получить сведения о подключении сервера базы данных с портала Azure, выполните следующие действия.

  1. Войдите на портал Azure.

  2. Перейдите на страницу Базы данных Azure для MySQL. Найдите и выберите База данных Azure для MySQL. Поиск Базы данных Azure для MySQL

  3. Выберите свой сервер MySQL (например, mydemoserver).

  4. На странице Обзор скопируйте полное имя сервера рядом с полем Имя сервера и имя администратора рядом с полем Имя для входа администратора сервера. Чтобы скопировать имя сервера или имя узла, наведите на него указатель мыши и щелкните значок копирования.

Важно!

  • Если вы забыли свой пароль, его можно сбросить.
  • Замените значения параметров host, username, password и db_name своими значениями**.

Шаг 1. Подключение к серверу

Протокол SSL включен по умолчанию. Для подключения из локальной среды может потребоваться скачать SSL-сертификат DigiCertGlobalRootG2. Этот код вызывает:

  • mysqli_init для инициализации MySQLi.
  • mysqli_ssl_set для указания пути SSL-сертификата. Это необходимо для локальной среды, но не требуется для веб-приложения Службы приложений или виртуальных машин Azure.
  • mysqli_real_connect для подключения к MySQL.
  • mysqli_close для закрытия подключения.
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$password = 'your_password';
$db_name = 'your_database';

//Initializes MySQLi
$conn = mysqli_init();

mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootG2.crt.pem", NULL, NULL);

// Establish the connection
mysqli_real_connect($conn, 'mydemoserver.mysql.database.azure.com', 'myadmin@mydemoserver', 'yourpassword', 'quickstartdb', 3306, NULL, MYSQLI_CLIENT_SSL);

//If connection failed, show the error
if (mysqli_connect_errno())
{
    die('Failed to connect to MySQL: '.mysqli_connect_error());
}

Возникли проблемы? Сообщите нам об этом

Шаг 2. Создание таблицы

Для подключения используйте следующий код. Этот код вызывает:

  • mysqli_query для запуска запроса.
// Run the create table query
if (mysqli_query($conn, '
CREATE TABLE Products (
`Id` INT NOT NULL AUTO_INCREMENT ,
`ProductName` VARCHAR(200) NOT NULL ,
`Color` VARCHAR(50) NOT NULL ,
`Price` DOUBLE NOT NULL ,
PRIMARY KEY (`Id`)
);
')) {
printf("Table created\n");
}

Шаг 3. Добавление данных

Используйте указанный ниже код с инструкцией SQL INSERT для вставки данных. Этот код использует методы:

  • mysqli_prepare для создания подготовленной инструкции INSERT.
  • mysqli_stmt_bind_param для привязки параметров для каждого вставленного значения столбца.
  • mysqli_stmt_execute.
  • mysqli_stmt_close для закрытия инструкции с помощью метода.
//Create an Insert prepared statement and run it
$product_name = 'BrandNewProduct';
$product_color = 'Blue';
$product_price = 15.5;
if ($stmt = mysqli_prepare($conn, "INSERT INTO Products (ProductName, Color, Price) VALUES (?, ?, ?)"))
{
    mysqli_stmt_bind_param($stmt, 'ssd', $product_name, $product_color, $product_price);
    mysqli_stmt_execute($stmt);
    printf("Insert: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
    mysqli_stmt_close($stmt);
}

Шаг 4. Чтение данных

Используйте указанный ниже код с инструкцией SQL SELECT для чтения данных. Этот код использует методы:

  • mysqli_query для выполнения запроса SELECT.
  • mysqli_fetch_assoc для получения результирующих строк.
//Run the Select query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res))
 {
    var_dump($row);
 }

Шаг 5. Удаление данных

Используйте указанный ниже код с инструкцией SQL DELETE для удаления строк. Этот код использует методы:

  • mysqli_prepare для создания подготовленной инструкции DELETE.
  • mysqli_stmt_bind_param для привязки параметров.
  • mysqli_stmt_execute для создания подготовленной инструкции DELETE.
  • mysqli_stmt_close для закрытия инструкции.
//Run the Delete statement
$product_name = 'BrandNewProduct';
if ($stmt = mysqli_prepare($conn, "DELETE FROM Products WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 's', $product_name);
mysqli_stmt_execute($stmt);
printf("Delete: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}

Очистка ресурсов

Чтобы очистить все ресурсы, используемые во время этого краткого руководства, удалите группу ресурсов с помощью следующей команды:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

PHP mysqli_connect function

The PHP mysql connect function is used to connect to a MySQL database server.

It has the following syntax.

HERE,

  • “$db_handle” is the database connection resource variable.
  • “mysqli_connect(…)” is the function for php database connection
  • “$server_name” is the name or IP address of the server hosting MySQL server.
  • “$user_name” is a valid user name in MySQL server.
  • “$password” is a valid password associated with a user name in MySQL server.

PHP mysqli_select_db function

The mysqli_select_db function is used to select a database.

It has the following syntax.

  HERE,

  • “mysqli_select_db(…)” is the database selection function that returns either true or false
  • “$database_name” is the name of the database
  • “$link_identifier” is optional, it is used to pass in the server connection link

PHP mysqli_query function

The mysqli_query function is used to execute SQL queries.

The function can be used to execute the following query types;

  • Insert
  • Select
  • Update
  • delete

It has the following syntax.

  HERE,

  • “mysqli_query(…)” is the function that executes the SQL queries.
  • “$query” is the SQL query to be executed
  • “$link_identifier” is optional, it can be used to pass in the server connection link

PHP mysqli_num_rows function

The mysqli_num_rows function is used to get the number of rows returned from a select query.

It has the following syntax.

  HERE,

  • “mysqli_num_rows(…)” is the row count function
  • “$result” is the mysqli_query result set

PHP mysqli_fetch_array function

The mysqli_fetch_array function is used fetch row arrays from a query result set.

It has the following syntax.

  HERE,

  • “mysqli_fetch_array(…)” is the function for fetching row arrays
  • “$result” is the result returned by the mysqli_query function.

PHP mysqli_close function

The mysqli_close function is used to close an open database connection.

It has the following syntax.

  HERE,

  • “mysqli_close(…)” is the PHP function
  • “$link_identifier” is optional, it is used to pass in the server connection resource

Let’s look at practical examples that take advantage of these functions.

Creating the MySQL database This tutorial assumes knowledge of MySQL and SQL, if these terms are unfamiliar to you, refer to our MySQL and SQL tutorials.

We will create a simple database called my_personal_contacts with one table only.

Below are the steps to create the database and table.

  • Connect to MySQL using your favorite access tool such as MySQL workbench, phpMyAdmin etc.
  • Create a database named my_person_contacts
  • Execute the script shown below to create the table and insert some dummy data

  We now have a database set up that we will manipulate from PHP.

Reading records from the database We will now create a program that prints the records from the database.

';         
		echo 'Full Names: ' . $row['full_names'] . '
';         echo 'Gender: ' . $row['gender'] . '
';         echo 'Contact No: ' . $row['contact_no'] . '
';         echo 'Email: ' . $row['email'] . '
';         echo 'City: ' . $row['city'] . '
';         echo 'Country: ' . $row['country'] . '

';     } } mysqli_close($dbh); //close the database connection ?>

  Executing the above code returns the results shown in the diagram shown below

Inserting new records

Let’s now look at an example that adds a new record into our table. the code below shows the implementation.

  Executing the above code outputs “Poseidon has been successfully added to your contacts list” go back to the select query example and retrieval your contacts again.

See if Poseidon has been added to your list.

Updating records Let’s now look at an example that updates a record in the database.

Let’s suppose that Poseidon has changed his contact number and email address.

Deleting records

Let’s now look at an example that removes records from the database. Let’s suppose that Venus has a restraining order against us, and we must remove her contacts info from our database.