Cara menggunakan php 025 / 5

Tutorial kali ini akan membahas bagaimana mengelola database dari script PHP. Selain itu, Anda juga akan belajar cara INSERT data ke database menggunakan PHP. Untuk menginput data ke database MySQL dapat dilakukan dengan dua metode yaitu MySQLi dan PDO. Namun, sebelum melanjutkan tutorial ini, ada baiknya Anda mengakses konsol panel hosting Anda terlebih dahulu

Berbagai versi PHP dan fasilitas konfigurasi PHP bisa Anda dapatkan hanya dengan berlangganan web hosting di Hostinger. Nikmati juga bantuan 24/7 dan jaminan uang kembali 30 hari

Hosting PHP

 

Buat Tabel (Opsional)

Buat tabel dulu. Langkah-langkahnya sendiri sangat sederhana. Anda sebaiknya hanya menggunakan phpMyAdmin yang ada di panel kontrol hosting. Karena pada tutorial sebelumnya sudah dibahas langkah-langkah membuat database MySQL, pada tutorial kali ini tidak akan dijelaskan lebih lanjut

Cara menggunakan php 025 / 5

Cara menggunakan php 025 / 5

Setelah masuk ke halaman phpMyAdmin, Anda akan melihat tampilan seperti ini

Cara menggunakan php 025 / 5

Kami akan membuat tabel bernama Siswa untuk database u266072517_name. Untuk membuat tabel baru, klik tombol Buat Tabel. Setelah itu, halaman baru akan muncul di mana Anda dapat memasukkan semua informasi yang Anda butuhkan ke dalam tabel

Setup ini merupakan setup yang paling mudah dilakukan jika ingin membuat tabel. Untuk informasi lengkap mengenai struktur tabel/database dan jenis pengaturan yang dapat diterapkan pada kolom, baca panduan phpMyAdmin

Berikut adalah penjelasan fungsi dari masing-masing kolom yang akan kita gunakan

  • Nama – Nama kolom, akan ditampilkan di bagian atas tabel
  • Ketik – Pilih jenis kolom. Misalnya kita memilih varchar karena kita ingin memasukkan tipe string berupa nama (yang tentunya terdiri dari huruf bukan angka)
  • Panjang/Nilai – Untuk menentukan panjang maksimum entri yang dapat Anda buat di kolom
  • Indeks – Kami menggunakan indeks "Utama" untuk kolom "ID". Lebih baik membuat kolom ID saat membuat tabel. Kolom ini berfungsi untuk menghitung entri tabel dan diperlukan saat Anda ingin mengonfigurasi hubungan intertabel. Kami juga menandai "A_I" yang berarti Auto Increment. Secara otomatis, kolom akan menghitung entri (1, 2, 3, 4…)

Klik Save untuk menyimpan tabel yang telah berhasil dibuat

metode MySQLi

Lakukan koneksi ke database terlebih dahulu. Untuk caranya, Anda dapat membaca di tutorial kami. Setelah itu, Anda dapat melanjutkan dengan kueri SQL INSERT. Berikut adalah contoh kode dengan koneksi dasar dan metode penyisipan

<?php
$servername = "mysql.hostinger.co.uk";
$database = "u266072517_name";
$username = "u266072517_user";
$password = "buystuffpwd";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
}
 
echo "Connected successfully";
 
$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";
if (mysqli_query($conn, $sql)) {
      echo "New record created successfully";
} else {
      echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

?>

Bagian pertama dari kode (3-18 baris) adalah koneksi sebenarnya ke database. Untuk arti dari masing-masing kode sudah kita bahas sebelumnya. Jika Anda ingin menggali informasi serupa, Anda dapat merujuk ke artikel kami tentang cara terhubung ke database

Oke, mari kita mulai dari baris kode 19

$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";
_

Baris diatas adalah baris yang paling penting dalam baris kode yang kita gunakan. Baris ini bertanggung jawab atas semua yang akan kita pelajari bersama dalam tutorial ini - input database dengan PHP. INSERT INTO adalah pernyataan yang berfungsi untuk menambahkan data ke dalam tabel database yang ditentukan. Misalnya, kami akan menambahkan data ke tabel Siswa

Di dalam tanda kurung, ada kolom tabel yang ingin kita tambahkan nilainya. (nama, nama belakang, email). Data akan ditambahkan sesuai urutan yang telah ditentukan. Jika kita menulis (email, lastname, name), maka urutan nilainya akan berubah

Setelah INSERT INTO, ada pernyataan NILAI. Dalam pernyataan ini, kami memasukkan nilai ke kolom yang ditentukan sebelumnya. Dengan demikian, setiap kolom mewakili nilai yang telah dibuat. Misalnya pada kolom yang telah kita buat. nama = Tes, nama belakang = Tes, email = Tes@tes. com

Hal penting lainnya adalah karena kita hanya menjalankan kueri SQL menggunakan kode PHP, kueri SQL harus diatur di antara tanda kutip. Misalnya, apa pun yang ditempatkan di antara tanda kutip dan setelah $sql = adalah kueri SQL

Baris kode berikutnya (baris 20-22) memeriksa apakah kueri berhasil dijalankan atau tidak

if (mysqli_query($conn, $sql)) {
     echo "New record created successfully";
}

Baris kode terakhir (baris 22-24) menampilkan pesan kesalahan jika kueri tidak berhasil dijalankan

else {
     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

Metode Objek Data PHP (PDO).

Sama seperti opsi 1, hal pertama yang harus dilakukan adalah membuat koneksi ke database. Di opsi 2, koneksi dilakukan dengan membuat objek PDO baru - baca tutorial kami sebelumnya untuk informasi lebih lengkap. Karena koneksi ke database MySQL adalah objek PDO, Anda harus menggunakan berbagai 'metode' PDO (fungsi apa pun yang merupakan bagian dari objek apa pun) untuk membuat dan menjalankan kueri. Metode objek akan terlihat seperti ini

$the_Object->the_Method();
_

Dengan PDO, Anda dapat 'membangun' kode SQL sebelum dijalankan. SQL diperiksa dan 'diperbaiki' sebelum benar-benar diaktifkan. Serangan injeksi SQL yang disederhanakan dapat diaktifkan hanya dengan mengetikkan kode SQL ke dalam bidang di formulir. Sebagai contoh

// User writes this in the username field of a login form
john"; DROP DATABASE user_table;

// The final query becomes this
"SELECT * FROM user_table WHERE username = john"; DROP DATABASE user_table;

Karena ada kode SQL yang benar secara sintaksis, maka titik koma menjadikan DROP DATABASE user_table sebagai kueri SQL baru, dan tabel pengguna Anda dihapus. Pernyataan yang disiapkan tidak akan mengizinkan karakter ”dan ;

Jika Anda ingin mengirim atau menerima data dari database dengan PDO, sebaiknya gunakan pernyataan yang sudah disiapkan

Untuk menggunakan pernyataan yang telah disiapkan, Anda harus menulis variabel baru yang memanggil metode persiapan() dari objek database

Ketika kode sudah benar

<?php
$servername = "mysql.hostinger.com";
$database = "u266072517_name"; 
$username = "u266072517_user";
$password = "buystuffpwd";
$sql = "mysql:host=$servername;dbname=$database;";
$dsn_Options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];

// Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object
try { 
  $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options);
  echo "Connected successfully";
} catch (PDOException $error) {
  echo 'Connection error: ' . $error->getMessage();
}

// Set the variables for the person we want to add to the database
$first_Name = "Thom";
$last_Name = "Vial";
$email = "[email protected]";

// Here we create a variable that calls the prepare() method of the database object
// The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name
$my_Insert_Statement = $my_Db_Connection->prepare("INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)");

// Now we tell the script which variable each placeholder actually refers to using the bindParam() method
// First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to
$my_Insert_Statement->bindParam(:first_name, $first_Name);
$my_Insert_Statement->bindParam(:last_name, $last_Name);
$my_Insert_Statement->bindParam(:email, $email);

// Execute the query using the data we just defined
// The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here
if ($my_Insert_Statement->execute()) {
  echo "New record created successfully";
} else {
  echo "Unable to create record";
}

// At this point you can change the data of the variables and execute again to add more data to the database
$first_Name = "John";
$last_Name = "Smith";
$email = "[email protected]";
$my_Insert_Statement->execute();

// Execute again now that the variables have changed
if ($my_Insert_Statement->execute()) {
  echo "New record created successfully";
} else {
  echo "Unable to create record";
}
_

Pada baris 28, 29, dan 30, kita menggunakan metode bindParam() dari objek database. Ada juga metode bindValue() yang sama sekali berbeda

  • bindParam() – Metode ini mengevaluasi data saat metode eksekusi() dijalankan. Saat pertama kali menjalankan metode execution(), skrip melihat bahwa $first_Name sesuai dengan "Thom", mengikat nilainya, dan menjalankan kueri. Saat menjalankan metode eksekusi() kedua, skrip melihat bahwa $first_Name sekarang sesuai dengan "John", mengikat nilai, dan menjalankan kueri lagi dengan nilai baru. Satu hal yang harus Anda ingat, kami hanya membuat kueri satu kali dan menggunakannya lagi dengan data berbeda di titik berbeda dalam skrip
  • bindValue() – Metode ini mengevaluasi data segera setelah bindValue() dijalankan. Karena nilai $first_Name telah disetel ke "Thom" pada saat bindValue() dijalankan, nilai tersebut akan digunakan setiap kali metode execution() dipanggil untuk $my_Insert_Statement

Kami menggunakan kembali variabel $first_Name dan membuat nilai baru untuk kedua kalinya. Jika Anda memeriksa database setelah menjalankan skrip ini, maka Anda memiliki dua nama yang telah ditentukan, meskipun variabel $first_Name setara dengan "John" yang terletak di akhir skrip. Perlu diingat, PHP mengevaluasi seluruh skrip sebelum benar-benar menjalankannya

Saat Anda memperbarui skrip untuk mengganti bindParam dengan bindValue, Anda harus memasukkan dua kali ke MySQL "Thom Vial" di database dan John Smith tidak akan disertakan

Memastikan Masalah dan Kesalahan Berhasil Diatasi

Jika kueri berhasil dijalankan dan dimasukkan ke dalam database MySQL, maka kita akan melihat pesan ini

Connect Successfully
New record created successfully

Mengatasi kesalahan umum

MySQLi

Umumnya, jika terjadi kesalahan, pesan kesalahan akan segera ditampilkan. Misalnya terjadi error pada syntax, maka muncul pesan ini

Connect successfully
Error: INSERT INTO students {name, lastname, email} VALUES ('Test', 'Testing', '[email protected]')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Test', 'Testing', 'Test@testingcom')' at line 1"
_

Seperti yang bisa kita lihat, tidak ada kesalahan apapun di bagian pertama kode. Koneksi yang dibuat berhasil diaktifkan. Namun, kueri SQL berhenti

"Error: INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', '[email protected]')
_

Anda memiliki kesalahan dalam sintaks SQL Anda; . v@beberapa. com')' pada baris 1″

Memiliki kesalahan sintaksis membuat skrip gagal dijalankan. Kesalahannya adalah

$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";
_0

Terlihat bahwa kita menggunakan kurung kurawal bukan kurung biasa. Tentu saja penulisan ini tidak akurat dan menyebabkan script tidak berjalan sebagaimana mestinya sehingga muncul pesan error

PDO

Sejalan 7 koneksi PDO, mode kesalahan diatur untuk menampilkan semua pengecualian. Jika Anda tidak menyertakan mode kesalahan ini dan jika kueri gagal, Anda tidak akan mendapatkan pesan kesalahan sama sekali. Namun, ketika mode kesalahan disertakan, maka Anda dapat mengetahui di mana kesalahan itu terjadi. Biasanya mode kesalahan hanya digunakan saat Anda sedang mengembangkan skrip karena dapat mengekspos nama database dan tabel, yang sebenarnya ingin Anda sembunyikan dari siapa pun yang ingin mengakses data Anda. Jika Anda tidak sengaja mengetikkan kurung kurawal dan bukan kurung biasa, maka akan muncul tampilan error seperti ini

$sql = "INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', '[email protected]')";
_1

Masalah lain yang mungkin Anda alami

  • Salah kolom (kolom tidak muncul atau ada kesalahan penulisan)
  • Salah satu tipe nilai dipindahkan ke tipe kolom lain. Misalnya jika kita menulis angka 47 pada kolom Nama, maka akan muncul pesan kesalahan. Secara default, 47 adalah nilai string. Namun jika kita menambahkan angka di antara tanda kutip, misalnya "47", maka tidak akan ada pesan kesalahan karena angka yang kita maksud akan ditambahkan ke kolom sebagai string
  • Memasukkan data ke dalam tabel yang tidak ada atau terjadi kesalahan penulisan pada tabel

Baca tutorial mengatasi pesan error atau cek error_log agar semua error di atas bisa diperbaiki dengan mudah

Data entri yang berhasil ditambahkan dapat dilihat di database kami. Berikut adalah contoh tabel, tempat kami menambahkan data, jika dilihat melalui phpMyAdmin

Cara menggunakan php 025 / 5

Kesimpulan

Sekarang Anda sudah tahu cara menginput data ke database dengan php menggunakan MySQLi dan PDO. Selain itu, Anda sudah mengetahui cara mengatasi error koneksi yang sering terjadi. Jika saat ini Anda sedang belajar tentang coding atau membuat website, maka Anda harus mengetahui cara memasukkan data ke dalam database menggunakan PHP

Penulis

Ariata C

Ariata suka menulis dan menerjemahkan, dan saat ini bekerja sebagai penerjemah di Hostinger Indonesia. Melalui artikel dan tutorial yang dipublikasikan di blog Hostinger, Ariata ingin berbagi ilmu tentang website, WordPress, dan hal-hal terkait hosting lainnya kepada para pembaca.

Bagaimana cara kerja pemrograman PHP?

Cara kerja bahasa pemrograman PHP .
Tahap pertama, web browser mengirimkan permintaan HTTP ke web server, misalnya file indeks. php
Tahap kedua, PHP di web server akan memproses PHP untuk menghasilkan file HTML
Tahap terakhir, web server akan mengirimkan file HTML kembali ke web browser

PHP versi berapa sekarang?

Saat artikel ini ditulis, versi PHP terbaru adalah PHP 8. 1 yang dirilis pada 25 November 2021. PHP 8. 1 memiliki beberapa fitur baru termasuk Readonly Properties dan Never Return Type.

Apa yang harus saya persiapkan untuk menggunakan PHP?

Kalau begitu mari kita mulai. .
Editor Teks. Text Editor yang akan kita gunakan untuk menulis kode PHP. .
2. Peramban. Browser pasti ada di setiap komputer. .
Penerjemah PHP. Agar kode PHP dapat dieksekusi, kita memerlukan juru bahasa PHP. .
4. Server Web (Apache).
Server Basis Data (MySQL).
6. PHPMyAdmin (Opsional)

Bagaimana cara menginstal aplikasi PHP?

Cara Install PHP menggunakan XAMPP .
Siapkan file program yang dapat dieksekusi Windows Installer dalam bentuk ekstensi. exe, sehingga Anda dapat dengan mudah mengunduhnya di halaman sourceforge. net atau jika mengalami kesulitan bisa langsung klik disini untuk memilih versi terbaru 8. .
Menentukan folder program pemasang