Bisakah php terhubung ke sql server?

Saya telah melihat banyak tutorial yang masih mengajarkan teknik usang untuk terhubung ke database MySQL di PHP. Tujuan saya dalam tutorial ini adalah untuk mengajari Anda cara modern dan aman untuk terhubung ke database SQL apa pun di PHP menggunakan metode PDO

Dalam tutorial ini, saya akan bekerja dengan database MySQL. Tidak banyak perbedaan antara MySQL dan sistem database mirip SQL. Jadi, jangan ragu untuk menggunakan salah satu yang Anda miliki

Mari kita mulai tur kita

Ruang kerja

Buat folder untuk proyek (milik saya adalah

touch index.php config.php connect.php
1)

mkdir php-pdo
_

Tambahkan

touch index.php config.php connect.php
2,
touch index.php config.php connect.php
3 dan
touch index.php config.php connect.php
4

touch index.php config.php connect.php

Buat juga database (

touch index.php config.php connect.php
5)

CREATE DATABASE IF NOT EXISTS test;

Menghubungkan ke database dengan PDO

Untuk terhubung ke database, Anda bisa menggunakan ekstensi khusus database seperti MySQLi untuk MySQL atau PHP Data Objects (alias PDO). Keuntungan menggunakan PDO adalah dapat digunakan untuk terhubung ke database apa pun. Oleh karena itu, kami akan menggunakan PDO dalam tutorial ini

Sekarang saatnya untuk mulai menggunakan PDO. Di

touch index.php config.php connect.php
4, buat instance PDO seperti ini

touch index.php config.php connect.php
7 menerima keempat parameter ini

  • DSN (nama sumber data). jenis database, nama host, nama database (opsional)
  • login tuan rumah
  • kata sandi tuan rumah
  • opsi tambahan

Mempertimbangkan info basis data kami, mari ganti parameter ini dengan nilai aslinya

 PDO::ERRMODE_EXCEPTION
  ];
  • Baris
    touch index.php config.php connect.php
    
    _8 menginstruksikan PDO untuk mengeluarkan pengecualian jika terjadi kesalahan
  • Anda mungkin memperhatikan bahwa saya tidak menutup tag PHP saya. Ini opsional, dan terkadang lebih baik untuk mengabaikannya jika hal terakhir yang Anda miliki di file Anda adalah kode PHP

Kami profesional, mari membuat kode sebagai profesional

Refaktor kode

Koneksi kami berfungsi dengan baik, tetapi kami masih dapat memperbaiki kodenya. Mari sederhanakan string koneksi kita dengan

$connection = new PDO($dsn, $username, $password, $options);

Di

touch index.php config.php connect.php
3, kami menambahkan semua info basis data

$host       = "localhost";
$username   = "root";
$password   = "";
$dbname     = "test";
$dsn        = "mysql:host=$host;dbname=$dbname";
$options    = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];

Catatan
Jika Anda menggunakan database selain MySQL, Anda perlu mengubah

CREATE DATABASE IF NOT EXISTS test;
0 di
CREATE DATABASE IF NOT EXISTS test;
1 menjadi nama database Anda (seperti
CREATE DATABASE IF NOT EXISTS test;
2)

Sekarang, kita dapat menghubungi

touch index.php config.php connect.php
_3 di
touch index.php config.php connect.php
4

Kami telah membuat fungsi yang mengembalikan objek koneksi database. Sekarang, saatnya untuk

Gunakan string koneksi

Di

touch index.php config.php connect.php
2, kita bisa menggunakan fungsi
CREATE DATABASE IF NOT EXISTS test;
6 seperti ini



Hello World

Browser akan mencetak

CREATE DATABASE IF NOT EXISTS test;
_7 jika semuanya baik-baik saja

Bisakah php terhubung ke sql server?

Tetapi apa yang terjadi jika terjadi kesalahan? . Mari kita lihat cara menangani pengecualian

Tangani pengecualian

Sederhananya, pengecualian hanyalah kesalahan. Ingatlah bahwa kami telah menetapkan atribut PHP untuk menampilkan kesalahan sebagai pengecualian. (

touch index.php config.php connect.php
8)

Pertama, buka

touch index.php config.php connect.php
_3 dan lakukan kesalahan. Katakanlah saya memasukkan kata sandi database sebagai blablabla. Sekarang, di browser, Anda akan memiliki ini.

Seperti yang Anda lihat pada gambar di atas, aplikasi mengalami kesalahan. Ini memberikan deskripsi kesalahan dan juga garis di mana masalah dapat ditemukan. Ini bisa menarik jika kita masih mengembangkan aplikasi kita, tetapi dalam produksi, ini merupakan risiko keamanan yang tinggi. Kami tidak ingin mengungkapkan kepada pengunjung kami terlalu banyak informasi tentang kesalahan tersebut. Anda mungkin memperhatikan bahwa kesalahan aplikasi memberi tahu banyak tentang kode kami. file, string koneksi, dan baris

Untuk memperbaiki masalah ini, kita perlu menggunakan blok

0

try {
        require "config.php";
        $connection = new PDO($dsn, $username, $password, $options);

        return $connection;
    } catch (PDOException $e) {
        die($e->getMessage());
    }

Singkatnya, cuplikan di atas pertama-tama akan mencoba menyambung ke database, dan jika menemukan kesalahan, ia akan menangkapnya dan mencetak pesan kesalahan eksplisit

Kesimpulan


Dalam tutorial ini kita telah belajar cara menulis skrip untuk terhubung ke database SQL di PHP seperti pro dengan menggunakan