GNU/Linux >> Belajar Linux >  >> Linux

3 Metode Terhubung ke MySQL dari PHP menggunakan Kode Contoh

Untuk mendapatkan hasil maksimal dari database MySQL Anda, penting untuk memahami cara menghubungkan program PHP kustom Anda ke database MySQL.

Tutorial ini menjelaskan tiga metode berikut beserta contoh program PHP yang sesuai, yang akan menjelaskan bagaimana menghubungkan dari PHP Anda ke database MySQL.

  • Hubungkan menggunakan ekstensi mysqli (Disarankan)
  • Hubungkan menggunakan PDO (Disarankan)
  • Hubungkan menggunakan fungsi mysql_ lawas tradisional (Usang)

Untuk ini, Anda harus menginstal paket php-mysql.

Pada distro berbasis RedHat termasuk CentOS, gunakan yum untuk menginstal php-mysql seperti yang ditunjukkan di bawah ini.

yum install php-mysql

Tergantung pada sistem Anda, hal di atas akan menginstal atau memperbarui dependensi berikut:
php
php-cli
php-common
php-pdo
php-pgsql

Setelah terinstal, halaman phpinfo akan menampilkan modul mysql seperti gambar di bawah ini:

Untuk semua contoh di bawah ini, kami akan menghubungkan ke database MySQL yang sudah ada. Jika Anda baru mengenal MySQL, ini adalah tempat yang baik untuk memulai:Panduan Pemula MySQL

Catatan:Semua yang dijelaskan di sini juga akan bekerja dengan MariaDB, karena sama seperti MySQL.

1. Terhubung dari PHP Menggunakan Ekstensi mysqli

mysqli adalah singkatan dari MySQL Improved.

Harap dicatat bahwa pada sebagian besar distro (misalnya:CentOS), php-mysqli sudah menjadi bagian dari paket php-mysql. Jadi, Anda tidak perlu mencari dan mencari paket php-mysqli. Yang harus Anda lakukan adalah menginstal paket php-mysql agar ekstensi mysqli bekerja di sistem Anda.

Buat file mysqli.php berikut di bawah Apache DocumentRoot:

<?php
  $conn = new mysqli("localhost", "root", "mySecretDBpass", "thegeekstuff");
  
  if ($conn->connect_error) {
    die("ERROR: Unable to connect: " . $conn->connect_error);
  } 

  echo 'Connected to the database.<br>';

  $result = $conn->query("SELECT name FROM employee");

  echo "Number of rows: $result->num_rows";

  $result->close();

  $conn->close();
?>

Di atas:

  • mysqli – Fungsi ini akan memulai koneksi baru menggunakan ekstensi mysqli. Fungsi ini akan mengambil empat argumen ini
    1. nama host tempat database MySQL dijalankan
    2. Nama pengguna MySQL untuk terhubung
    3. Kata sandi untuk pengguna mysql
    4. Database MySQL untuk terhubung.
  • fungsi kueri – Gunakan ini untuk menentukan kueri MySQL Anda. Dalam contoh ini, kami memilih kolom nama dari database karyawan.
  • Akhirnya, kami menampilkan jumlah baris yang dipilih menggunakan variabel num_rows di hasil. Kami juga menutup variabel hasil dan koneksi seperti yang ditunjukkan di atas.

Saat Anda memanggil mysqli.php di atas dari browser Anda, Anda akan melihat output berikut, yang menunjukkan bahwa PHP dapat terhubung ke database MySQL dan mengambil data.

Connected to the database.
Number of rows: 6

Catatan:Jika Anda mencoba untuk terhubung ke database MySQL jarak jauh, maka Anda mungkin harus melakukan ini untuk menghindari pesan kesalahan host yang tidak diizinkan:Cara Mengizinkan Klien MySQL untuk Terhubung ke server MySQL Jarak Jauh

2. Terhubung dari Ekstensi PHP MySQL PDO

PDO adalah singkatan dari PHP Data Objects.

Drive PDO_MYSQL mengimplementasikan antarmuka PDO yang disediakan oleh PHP untuk menghubungkan dari program PHP Anda ke database MySQL.

Pada kebanyakan distro Linux (misalnya:CentOS dan RedHat), paket php-pdo sudah menjadi bagian dari paket php-mysql. Jadi, Anda tidak perlu mencari dan mencari paket php-pdo. Yang harus Anda lakukan adalah menginstal paket php-mysql agar ekstensi PHP PDO_MYSQL bekerja di sistem Anda.

Buat file mysql-pdo.php berikut di bawah Apache DocumentRoot Anda:

<?php
  try {
    $conn = new PDO("mysql:host=localhost;dbname=thegeekstuff", "root", "mySecretDBpass");

    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo 'Connected to the database.<br>';

    $sql = 'SELECT name FROM employee';
    
    print "Employee Name:<br>";
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "<br>";
    }
    $conn = null;

  }
  catch(PDOException $err) {
    echo "ERROR: Unable to connect: " . $err->getMessage();
  }
?>

Di atas:

  • PDO baru – Ini akan membuat objek PDO baru yang akan mengambil tiga argumen berikut:
    1. string koneksi mysql:Ini akan dalam format “mysql:host=$hostname;dbname=$dbname”. Pada contoh di atas, db berjalan di localhost dan kita terhubung ke database thegeekstuff.
    2. Nama pengguna MySQL untuk terhubung
    3. Kata sandi untuk pengguna mysql
  • Variabel $sql – Buat kueri sql yang ingin Anda jalankan. Dalam contoh ini, kami memilih kolom nama dari tabel karyawan.
  • query($sql) – Di sini kita mengeksekusi query sql yang baru saja kita buat.
  • foreach – Di sini, kita mengulang output dari perintah query di atas dan menyimpannya dalam variabel $row, dan kemudian kita menampilkannya menggunakan perintah print.
  • Di MySQL PDO, untuk menutup koneksi, cukup setel variabel $conn ke nilai null.

Saat Anda memanggil mysqli.php di atas dari browser Anda, Anda akan melihat output berikut, yang menunjukkan bahwa PHP dapat terhubung ke database MySQL dan mengambil data.

Connected to the database.
Employee Name:
Thomas
Jason
Mayla
Nisha
Randy
Ritu

3. Terhubung dari PHP Menggunakan Legacy mysql_ Functions (Usang)

Gunakan metode ini hanya jika Anda menggunakan versi PHP yang lebih lama dan tidak dapat meningkatkannya ke versi baru karena alasan tertentu.

Disarankan agar Anda menggunakan Metode #2 dan Metode #3 yang ditunjukkan di atas daripada metode ini. Saya telah menyertakan metode ini hanya untuk referensi, dan bukan sebagai rekomendasi untuk digunakan.

Ekstensi khusus ini tidak digunakan lagi pada versi PHP 5.5. Tetapi mulai dari versi PHP 7.0, ini bahkan tidak akan berfungsi, karena telah dihapus.

Mulai dari versi PHP 5.5, ketika Anda menggunakan fungsi-fungsi ini, itu akan menghasilkan kesalahan E_DEPRECATE.

Buat file mysql-legacy.php berikut di bawah Apache DocumentRoot:

<?php
$conn = mysql_connect('localhost', 'root', 'mySecretDBpass');
mysql_select_db("thegeekstuff");
if (!$conn) {
die('ERROR: Unable to connect: ' . mysql_error());
}

echo 'Connected to the database.<br>';

$result = mysql_query('SELECT name FROM employee');

$row = mysql_fetch_row($result);
echo "Employee 1: ", $row[0], "<br>\n";

mysql_close($conn);
?>

Di atas:

  • Fungsi mysql_connect membutuhkan tiga argumen:1) nama host tempat database MySQL berjalan 2) nama pengguna MySQL untuk terhubung 3) Kata sandi untuk pengguna mysql. Ini dia koneksi ke database MySQL yang berjalan di server lokal menggunakan username root dan passwordnya.
  • fungsi mysql_select_db – Seperti namanya, ini akan memilih database yang ingin Anda sambungkan. Ini setara dengan perintah "gunakan". Dalam contoh ini, kami menghubungkan ke database thegeekstuff.
  • fungsi mysql_query – Gunakan ini untuk menentukan kueri MySQL Anda. Dalam contoh ini, kami memilih kolom nama dari database karyawan.
  • mysql_fetch_row – Gunakan fungsi ini untuk mengambil baris dari kueri SQL yang baru saja kita buat.
  • Akhirnya tutup koneksi menggunakan perintah mysql_close seperti gambar di atas.

Saat Anda memanggil mysql-legacy.php di atas dari browser Anda, Anda akan melihat output berikut, yang menunjukkan bahwa PHP dapat terhubung ke database MySQL dan mengambil data.

Connected to the database.
Employee 1: Thomas

Linux
  1. Terhubung ke database MySQL dari jarak jauh

  2. Hubungkan ke Linux dari Mac OS X dengan menggunakan Terminal

  3. Terhubung ke Linux dari Windows dengan menggunakan Putty

  1. Cara Melakukan Packet Sniffing Menggunakan Libpcap dengan Kode Contoh C

  2. Cara Memperbaiki Masalah Protokol SSL TLS Curl dari CLI dan Kode PHP

  3. Contoh penggunaan getnstimeofday di kernel Linux

  1. Cara Menghubungkan ke Database MySQL dari Jarak Jauh Dari Komputer

  2. Mengapa Menggunakan Symfony? 6 Argumen untuk Menggunakan Symfony PHP Framework, dari Perspektif Pengembang

  3. Metode koneksi MySQL