Php базові приклади розширення mysqli
Базові приклади розширення MySQLi
Цей приклад показує як з'єднуватися, виконувати запит, використовувати базову обробку помилок, роздруковувати результуючу вибірку і відключатися від бази даних MySQL.
У цьому прикладі використовується вільно доступна база даних Sakila яка може бути завантажена з »dev.mysql.com, як описано тут. Для того, щоб цей приклад працював (a) встановіть sakila і (b) змініть змінні для з'єднання з БД (host, your_user, your_pass).
Приклад # 1 Оглядовий приклад роботи з розширенням MySQLi
// Підключаємося до бази MySQL і вибираємо базу під назвою sakila
// Хост: 127.0.0.1, ім'я користувача: your_user, пароль: your_pass, база: sakila
$ Mysqli = new mysqli ( '127.0.0.1'. 'Your_user'. 'Your_pass'. 'Sakila');
// О ні. змінна connect_errno існує, а це значить, що з'єднання не було успішним!
if ($ mysqli -> connect_errno) // З'єднання не вдалося. Що потрібно робити в цьому випадку?
// Можна надіслати листа адміністратору, відобразити помилку в журналі,
// інформувати користувача про помилку на екрані і т.п.
// Вам не потрібно при цьому розкривати конфіденційну інформацію, тому
// просто спробуємо так:
echo "Вибачте, виникла проблема на сайті";
// На реальному сайті цього робити не слід, але в якості прикладу ми покажемо
// як роздруковувати інформацію про подробиці виникла помилки MySQL
echo "Помилка: Чи не удалсь створити з'єднання з базою MySQL і ось чому: \ n";
echo "Номер_ошібкі:". $ Mysqli -> connect_errno. "\ N";
echo "Помилка:". $ Mysqli -> connect_error. "\ N";
// Ви можете захотіти показати щось ще, але ми просто вийдемо
exit;
>
// Виконуємо запит SQL
$ Sql = "SELECT actor_id, first_name, last_name FROM actor WHERE actor_id = $ aid";
if (! $ result = $ mysqli -> query ($ sql)) // Про немає! запит не вдався.
echo "Вибачте, виникла проблема в роботі сайту." ;
// І знову: не робіть цього на реальному сайті, але в цьому прикладі ми покажемо,
// як отримати інформацію про помилку:
echo "Помилка: Наш запит не вдався і ось чому: \ n";
echo "Запит:". $ Sql. "\ N";
echo "Номер_ошібкі:". $ Mysqli -> errno. "\ N";
echo "Помилка:". $ Mysqli -> error. "\ N";
exit;
>
// Уфф, ми це зробили. У нас є з'єднання з базою даннх і успішний запит.
// Але де ж його результат?
if ($ result -> num_rows === 0) // Упс! в запиті немає жодного рядка! Іноді це очікувано і нормально, іноді немає.
// Вирішувати вам. В даному випадку, може бути actor_id був занадто великим?
echo "Ми не змогли знайти збіг для $ aid. вибачте. Будь ласка, спробуйте ще раз." ;
exit;
>
// Тепер ми знаємо тільки, що результат виконання запиту існує, тому давайте
// перенесемо його в асоціативний масив, в якому ключами масиву будуть назви
// стовпців.
$ Actor = $ result -> fetch_assoc ();
echo "Іноді я бачу". $ Actor [ 'first_name']. "". $ Actor [ 'last_name']. " по телевізору." ;
// Тепер давайте вивантажимо п'ять випадкових акторів і виведемо їх імена в список.
// Тут ми додамо менше ступенів обробки помилок, щоб Ви зробили це самостійно
$ Sql = "SELECT actor_id, first_name, last_name FROM actor ORDER BY rand () LIMIT 5";
if (! $ result = $ mysqli -> query ($ sql)) echo "Вибачте, виникла проблема в роботі сайту." ;
exit;
>
// Роздруковуємо список з п'яти випадково обраних акторів і створюємо посилання на id
// кожного з них
echo "
- \ N ";
- \ N ";
echo $ actor [ 'first_name']. ''. $ Actor [ 'last_name'];
echo " \ N ";
while ($ actor = $ result -> fetch_assoc ()) echo "
>
echo "
// Скрипт автоматично закриває з'єднання MySQL і звільняє пам'ять, тим не
// менш давайте зробимо це вручну
$ Result -> free ();
$ Mysqli -> close ();
?>