PHP MySQLi Функції: mysqli_query, mysqli_connect, mysqli_fetch_array
PHP має багату колекцію вбудованих функцій для маніпулювання MySQL бази даних
Функція PHP mysqli_connect
Функція PHP mysql connect використовується для підключення до a MySQL сервер бази даних.
Він має такий синтаксис.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
ТУТ,
- «$db_handle» — змінна ресурсу підключення до бази даних.
- “mysqli_connect(…)” – це функція для підключення до бази даних php
- «$server_name» — це ім’я або IP-адреса хостинг-сервера MySQL сервера.
- “$user_name” – дійсне ім’я користувача в MySQL сервера.
- “$password” – це дійсний пароль, пов’язаний з іменем користувача в MySQL сервера.
Функція PHP mysqli_select_db
Функція mysqli_select_db використовується для вибору бази даних.
Він має такий синтаксис.
<?php mysqli_select_db($db_handle,$database_name); ?>
ТУТ,
- “mysqli_select_db(…)” – це функція вибору бази даних, яка повертає значення true або false
- «$database_name» — це ім’я бази даних
- “$link_identifier” необов’язковий, він використовується для передачі посилання на підключення до сервера
Функція PHP mysqli_query
Для виконання використовується функція mysqli_query SQL запити.
Функцію можна використовувати для виконання наступних типів запитів;
- Insert
- Виберіть
- Оновити
- видаляти
Він має такий синтаксис.
<?php mysqli_query($db_handle,$query) ; ?>
ТУТ,
- “mysqli_query(…)” – це функція, яка виконує SQL-запити.
- “$query” – це SQL-запит, який потрібно виконати
- «$link_identifier» є необов’язковим, його можна використовувати для передачі посилання на підключення до сервера
Функція PHP mysqli_num_rows
Функція mysqli_num_rows використовується для отримання кількості рядків, отриманих із запиту на вибірку.
Він має такий синтаксис.
<?php mysqli_num_rows($result); ?>
ТУТ,
- “mysqli_num_rows(…)” – це функція підрахунку рядків
- “$result” – це набір результатів mysqli_query
Функція PHP mysqli_fetch_array
Функція mysqli_fetch_array використовується для отримання масивів рядків із набору результатів запиту.
Він має такий синтаксис.
<?php mysqli_fetch_array($result); ?>
ТУТ,
- “mysqli_fetch_array(…)” – це функція для отримання масивів рядків
- “$result” – це результат, який повертає функція mysqli_query.
Функція PHP mysqli_close
Функція mysqli_close використовується для закриття відкритого підключення до бази даних.
Він має такий синтаксис.
<?php mysqli_close($db_handle); ?>
ТУТ,
- “mysqli_close(…)” – це функція PHP
- “$link_identifier” необов’язковий, він використовується для передачі ресурсу підключення до сервера
Давайте розглянемо практичні приклади використання цих функцій.
Створення MySQL база даних Цей підручник передбачає знання MySQL і SQL, якщо ці терміни вам незнайомі, зверніться до нашого MySQL і навчальні посібники з SQL.
Ми створимо просту базу даних під назвою my_personal_contacts лише з однією таблицею.
Нижче наведено кроки для створення бази даних і таблиці.
- Підключитися до MySQL використовуючи ваш улюблений інструмент доступу, наприклад MySQL workbench, phpMyAdmin тощо.
- Створіть базу даних під назвою my_person_contacts
- Виконайте наведений нижче сценарій, щоб створити таблицю та вставити деякі фіктивні дані
<?php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy'); ?>
Тепер у нас налаштована база даних, якою ми будемо керувати з PHP.
Читання записів з бази даних Тепер ми створимо програму, яка друкує записи з бази даних.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection fails output error message
$sql_stmt = "SELECT * FROM my_contacts";
//SQL select query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Database access failed: " . mysqli_error());
//output error message if query execution failed
$rows = mysqli_num_rows($result);
// get number of rows returned
if ($rows) {
while ($row = mysqli_fetch_array($result)) {
echo 'ID: ' . $row['id'] . '<br>';
echo 'Full Names: ' . $row['full_names'] . '<br>';
echo 'Gender: ' . $row['gender'] . '<br>';
echo 'Contact No: ' . $row['contact_no'] . '<br>';
echo 'Email: ' . $row['email'] . '<br>';
echo 'City: ' . $row['city'] . '<br>';
echo 'Country: ' . $row['country'] . '<br><br>';
}
}
mysqli_close($dbh); //close the database connection
?>
Виконання наведеного вище коду повертає результати, показані на діаграмі нижче
Вставлення нових записів
Давайте тепер розглянемо приклад, який додає новий запис до нашої таблиці. код нижче показує реалізацію.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";
$sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')";
$result = mysqli_query($dbh,$sql_stmt); //execute SQL statement
if (!$result)
die("Adding record failed: " . mysqli_error());
//output error message if query execution failed echo "Poseidon has been successfully added to your contacts list";
mysqli_close($dbh); //close the database connection
?>
Виконання наведеного вище коду виведе «Poseidon успішно додано до вашого списку контактів», поверніться до прикладу запиту на вибір і знову відкрийте свої контакти.
Подивіться, чи додано Poseidon до вашого списку.
Оновлення записів Давайте тепер розглянемо приклад оновлення запису в базі даних.
Припустимо, Посейдон змінив свій контактний номер і електронну адресу.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc ';
//SQL select query $sql_stmt .= " WHERE `id` = 5";
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number 5 has been successfully updated";
mysqli_close($dbh); //close the database connection
?>
Видалення записів
Давайте тепер розглянемо приклад видалення записів із бази даних. Припустімо, що Венера має заборонний наказ проти нас, і ми повинні видалити її контактну інформацію з нашого база даних.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection failes output error message $id = 4;
//Venus's ID in the database
$sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id";
//SQL Delete query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number $id has been successfully deleted";
mysqli_close($dbh); //close the database connection
?>
PDO об’єкта доступу до даних PHP
PDO — це клас, який дозволяє нам маніпулювати різними механізмами баз даних, наприклад MySQL, PostGres, MS SQL Server тощо.
Наведений нижче код показує метод доступу до бази даних за допомогою об’єкта PDO.
Примітка: наведений нижче код передбачає знання мови SQL, масивів, обробки винятків і циклу foreach.
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
$sql_stmt = "SELECT * FROM `my_contacts`";
$result = $pdo->query($sql_stmt);
$result->setFetchMode(PDO::FETCH_ASSOC);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
print_r($data);
}
catch (PDOException $e) {
echo $e->getMessage();
}
?>
ТУТ,
- “try{…catch…}” – це блок обробки винятків
- “$pdo = new PDO(“mysql…” створює екземпляр об’єкта PDO та передає драйвери бази даних, імена сервера та бази даних, ідентифікатор користувача та пароль.
- “$pdo->setAtt…” встановлює режим помилки PDO та атрибути режиму винятку
- “$pdo->exec('SET NA…” встановлює формат кодування
ODBC ODBC — це абревіатура від Open Database Connectivity. Він має наступний базовий синтаксис.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
ТУТ,
- “odbc_connect” – це вбудована функція PHP
- «$dsn» — це ім’я джерела даних ODBC.
- «$user_name» необов’язковий, він використовується для імені користувача ODBC
- «$password» необов’язковий, він використовується для пароля ODBC
Використаний приклад передбачає вас;
- Використовують Windows OS
- Ви створили посилання ODBC на Northwind Microsoft Доступ до бази даних під назвою Northwind
Нижче наведено код реалізації для доступу до даних ODBC
<?php
$dbh = odbc_connect('northwind', '', '');
if (!$dbh) {
exit("Connection Failed: " . $dbh);
}
$sql_stmt = "SELECT * FROM customers";
$result = odbc_exec($dbh, $sql_stmt);
if (!$result) {
exit("Error access records");
}
while (odbc_fetch_row($result)) {
$company_name = odbc_result($result, "CompanyName");
$contact_name = odbc_result($result, "ContactName");
echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>";
}
odbc_close($dbh);
?>
Резюме
- MySQL це система керування реляційною базою даних з відкритим кодом, доступна на більшості серверів веб-хостингу
- PHP має багату колекцію вбудованих функцій, які спрощують роботу MySQL
- PDO — це акронім PHP Data Object; він використовується для підключення до різних механізмів баз даних за допомогою того самого об’єкта
- PHP використовує функцію odbc_connect для роботи з базами даних через ODBC

