Nulis-Ilmu.com

Tutorial Elektronika dan Komputer

  • Home
  • Elektronika
  • Komputer
  • Javascript

Mengenal Statemen Prepare MySQL

17 November 2014 By Eko Purnomo

mengenal statemen prepare mysql

Statemen Prepare adalah fitur yang digunakan untuk menjalankan perintah query SQL yang sama secara berulang dengan lebih efisien. Sebagai contoh statemen Prepare digunakan saat kita menginsert beberapa record sekaligus dalam satu kali eksekusi. Memang ada fasilitas seperti Insert data multi menggunakan mysql_multi_query, namun dengan menggunakan metode Prepare akan diperoleh kecepatan eksekusi yang lebih baik.

Prinsip kerja Prepare secara singkat meliputi tiga tahapan, yaitu :

  1. Prepare, adalah proses menyiapkan statemen  template  perintah SQL dan mengirim kepada database. Nilai-nilai tertentu dibiarkan terbuka/kosong dan selanjutnya ini disebut parameter dn diberi label “?”. Contoh : INSERT INTO User VALUES(?,?,?).
  2. Memparsing database, mengkompile dan menjalankan optimasi query pada statemen  template perintah SQL lalu menyimpan tanpa mengeksekusinya.
  3. Eksekusi, adalah proses menjalankan statemen perintah SQL yang sudah disiapkan tadi dengan data yang sudah diikat oleh aplikasi. Aplikasi kemudian mengeksekusi statemen perintah query sebanyak yang diinginkan dengan nilai yang berbeda.

Jika dibandingkan dengan menjalankan perintah SQL secara langsung, statemen Prepare memiliki beberapa keuntungan, yaitu :

  1. Statemen Prepare mengurangi waktu parsing karena persiapan perintah query hanya dilakukan sekali saja meskipun query dijalankan beberapa kali.
  2. Parameter yang sudah diikat oleh aplikasi akan mengurangi penggunaan bandwith koneksi ke server karena kita hanya mengirimkan nilainya saja tidak dengan perintah query secara utuh.
  3. Statemen Prepare juga berguna untuk mengatasi serangan berupa SQl Injection. Hal ini karena nilai parameter dikirim menggunakan protokol yang berbeda, jadi tidak perlu proses menggunakan escape karakter dengan benar. Jika template statemen perintah SQL asli tidak berasal dari input eksternal, serangan SQL Injection tidak dapat terjadi .

Berikut ini contoh script PHP untuk statemen Prepare MySQL

1. Statemen Prepare menggunakan MySQLI Extension

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

// menyiapkan statemen prepare dan tautan parameter
$stmt = $conn->prepare("INSERT INTO User (nama, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $nama, $password, $email);

// mengeset parameter dan mengeksekusinya
$nama = "Agus";
$password = "123456";
$email = "agus@example.com";
$stmt->execute();

$nama = "Budi";
$password = "qwerty";
$email = "budi@example.com";
$stmt->execute();

$nama = "Candra";
$password = "abcdef";
$email = "agus@example.com";
$stmt->execute();

echo "Tiga Data baru berhasil dibuat";

//menutup statemen prepare
$stmt->close();

// menutup koneksi mysql
$conn->close();
?>

Note : “sss” pada fungsi bind_param adalah keterangan untuk string. Keterangan yang lain yang bisa dipakai adalah i untuk integer, b untuk blob dan d untuk double. Kita harus menyertakan parameter ini untuk setiap nilai.

2. Statemen Prepare menggunakan PDO

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MyPDODB";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);
// set the PDO error mode untuk exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// menyiapkan sql dan tautan parameter
$stmt = $conn->prepare("INSERT INTO User (nama, password, email)
VALUES (:nama, :password, :email)");
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':password', $password);
$stmt->bindParam(':email', $email);
// insert baris pertama
$nama = "Agus";
$password = "123456";
$email = "agus@example.com";
$stmt->execute();
// insert baris kedua
$nama = "Budi";
$password = "qwerty";
$email = "budi@example.com";
$stmt->execute();
// insert baris ketiga
$nama = "Candra";
$password = "abcdef";
$email = "agus@example.com";
$stmt->execute();
echo "Tiga Data baru berhasil dibuat";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
// menutup koneksi
$conn = null;
?>

Referensi :

  • //www.w3schools.com/php/php_mysql_prepared_statements.asp

Filed Under: PHP

Membatasi Tampilan Tabel MySQL Dengan LIMIT

17 November 2014 By Eko Purnomo

Untuk membatasi tampilan record dari tabel MySQL kita menggunakan parameter LIMIT pada perintah SELECT. Parameter LIMIT ini nantinya berguna ketika membuat pagination atau pengaturan halaman untuk menampilkan isi tabel. Nilai setelah LIMIT akan menjadi patokan bagi query dalam mengambil data dari tabel,yaitu mulai dari mana dan berapa jumlahnya. Kedua nilai ini kemudian dikombinasikan dengan id halaman dan dipakai untuk keperluan pagination tadi.

Latar Belakang perlunya LIMIT pada perintah SELECT

Ketika kita menampilkan isi tabel MySQL dengan PHP, setiap data pada tabel akan difetch satu-per satu sampai semua data diambil. Hal ini akan menjadikan masalah ketika tabel yang akan ditampilkan isinya mempunyai record yang sangat banyak sampai ribuan, puluhan ribu, ratusan ribu bahkan jutaan. Jika isi tabel terlalu besar maka akan terjadi waktu tunda aaat script PHP dijalankan. Dan berakibat dengan penurunan kecepatan akses dan performa aplikasi PHP.

Selain daripada waktu tunda diatas, tentunya data yang didapat dari perintah SELECT akan sangat tidak terbaca jika jumlahnya banyak sekali, bisa-bisa kita sudah pusing duluan sebelum menemukan record yang kita cari. Jumlah data yang wajar untuk ditampilkan kiranya akan lebih efektif jika dibawah 100 record, atau misalnya jumlah yang sering dipakai pada PHPMyAdmin hanya 30 record saja.

Cara penulisan LIMIT pada perintah query SELECT

1. Dengan menuliskan jumlah record-nya saja

SELECT * FROM nama_tabel LIMIT jumlah_record

2. Dengan menuliskan awal record dan jumlah record yang ditampilkan

SELECT * FROM nama_tabel LIMIT awal_record,jumlah_record

Contoh penggunaan LIMIT pada perintah query SELECT

Agar lebih mudah dalam memahami contoh, silahkan download sample database dengan banyak record dari situs mysqltutorial.com berikut ini.

  • Download sample database mysql (52,22KB)

Setelah didownload lalu buka phpMyAdmin kemudian import file mysqlsampledatabase1.zip kedalam database. Jika sukses akan muncul database baru dengan nama “classicmodels” dengan beberapa tabel seperti customers, employees, offices, orders, orderdetails dan lainnya.

tampilan tabel orderdetails dengan 2,996 record

Dari beberapa tabel diatas, kita bisa lihat tabel orderdetails dengan total record sebanyak 2,996 record. Jika kita menggunakan perintah SELECT tanpa LIMIT akan dibutuhkan waktu yang relatif lama untuk menampilkan semua record tersebut.

Dengan demikian kita akan membuat script PHP dengan menggunakan LIMIT untuk membatasi hasil dari query SELECT sebagai berikut :

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "classicmodels";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysqli_connect_error());
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//membuat query membaca 30 record dari awal tabel
$query="SELECT * FROM orderdetails LIMIT 0,30";

//menjalankan query
if (mysqli_query($conn,$query)) {
$result=mysqli_query($conn,$query);
} else die ("Error menjalankan query". mysqli_error());

//mengecek record kosong
if (mysqli_num_rows($result) > 0)
{
//membuat tabel dan heading
echo "<table border=1>";
echo "<tr>";
echo "<th>No. Order</th>";
echo "<th>Kode Produk</th>";
echo "<th>Jumlah Order</th>";
echo "<th>Harga Satuan</th>";
echo "<th>Nomor Line Order</th>";
echo "</tr>";

//menampilkan hasil query
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$row["orderNumber"]."</td>";
echo "<td>".$row["productCode"]."</td>";
echo "<td>".$row["quantityOrdered"]."</td>";
echo "<td>".$row["priceEach"]."</td>";
echo "<td>".$row["orderLineNumber"]."</td>";
echo "</tr>";
}
echo "</table>";
}
else echo "Tidak ada Record didalam tabel";

// menutup koneksi mysql
mysqli_close($conn);
?>

Referensi :

  • //www.w3schools.com/php/php_mysql_select_limit.asp

Filed Under: PHP

Cara Menampilkan Record MySQL Dalam Bentuk Tabel

16 November 2014 By Eko Purnomo

menampilkan record mysql dalam bentuk tabel

Pada tulisan sebelumnya telah dijelaskan tentang cara menampilkan data pada record MySQL dengan perintah query SELECT. Namun data yang kita tampilkan tersebut hanya berupa tampilan teks biasa dengan perintah echo. Kini kita akan belajar cara menampilkan data pada tabel MySQL kedalam bentuk tabel yang sebenarnya.

Untuk menampilkan record MySQL kedalam bentuk tabel kita harus menggunakan tag <table>…</table>. Setiap record ditampilkan baris demi baris dengan tag <tr>…</tr> dan setiap kolom dalam satu baris ditampilkan dengan tag <td>…</td>. Untuk nama kolom yang berada paling atas kita menggunakan tag <th>…</th>. Tag <tr> dan <td> diulang sebagaimana perulangan saat fetch data.

Berikut ini contoh script menampilkan record MySQL dalam format Tabel

1. Menampilkan record dalam bentuk tabel dengan MySQL Extension

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = 'MySQLDB';

// membuat koneksi mysql
$conn = mysql_connect($dbHost, $dbUser, $dbPass, $dbName);

// Mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysql_error());
else echo "Koneksi MySQL Berhasil ...<br/>";

//membuat koneksi database
$dbSelected = mysql_select_db($dbName, $conn);

// Mengecek koneksi database
if (!$dbSelected) die ('Koneksi Gatabase Gagal: ' . mysql_error());
else echo "Koneksi Database ".$dbName." Berhasil ...<br/>";

//membuat query membaca record dari tabel User
$query="SELECT * FROM User";

//menjalankan query
if (mysql_query($query)) {
$result=mysql_query($query);
} else die ("Error menjalankan query". mysql_error());

//mengecek record kosong
if (mysql_num_rows($result) > 0)
{
//membuat tabel dan heading
echo "<table border=1>";
echo "<tr>";
echo "<th>Id</th>";
echo "<th>Nama</th>";
echo "<th>Password</th>";
echo "<th>Email</th>";
echo "<th>Tanggal registrasi</th>";
echo "</tr>";

//menampilkan hasil query
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$row["id"]."</td>";
echo "<td>".$row["nama"]."</td>";
echo "<td>".$row["password"]."</td>";
echo "<td>".$row["email"]."</td>";
echo "<td>".$row["tgl_reg"]."</td>";
echo "</tr>";
}
echo "</table>";
}
else echo "Tidak ada Record didalam tabel";

//menutup koneksi mysql
mysql_close($conn);
?>

2. Menampilkan record dalam bentuk tabel dengan MySQLI Extension (Procedural)

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB1";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysqli_connect_error());
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//membuat query membaca record dari tabel User
$query="SELECT * FROM User";

//menjalankan query
if (mysqli_query($conn,$query)) {
$result=mysqli_query($conn,$query);
} else die ("Error menjalankan query". mysqli_error());

//mengecek record kosong
if (mysqli_num_rows($result) > 0)
{
//membuat tabel dan heading
echo "<table border=1>";
echo "<tr>";
echo "<th>Id</th>";
echo "<th>Nama</th>";
echo "<th>Password</th>";
echo "<th>Email</th>";
echo "<th>Tanggal registrasi</th>";
echo "</tr>";

//menampilkan hasil query
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$row["id"]."</td>";
echo "<td>".$row["nama"]."</td>";
echo "<td>".$row["password"]."</td>";
echo "<td>".$row["email"]."</td>";
echo "<td>".$row["tgl_reg"]."</td>";
echo "</tr>";
}
echo "</table>";
}
else echo "Tidak ada Record didalam tabel";

// menutup koneksi mysql
mysqli_close($conn);
?>

3. Menampilkan record dalam bentuk tabel dengan MySQLI Extension (Object Oriented)

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//membuat query membaca record dari tabel User
$query="SELECT * FROM User";

//menjalankan query
if ($conn->query($query)) {
$result=$conn->query($query);
} else die ("Error menjalankan query". mysqli_error());

//mengecek record kosong
if ($result->num_rows > 0) {

//membuat tabel dan heading
echo "<table border=1>";
echo "<tr>";
echo "<th>Id</th>";
echo "<th>Nama</th>";
echo "<th>Password</th>";
echo "<th>Email</th>";
echo "<th>Tanggal registrasi</th>";
echo "</tr>";

// menampilkan hasil query
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>".$row["id"]."</td>";
echo "<td>".$row["nama"]."</td>";
echo "<td>".$row["password"]."</td>";
echo "<td>".$row["email"]."</td>";
echo "<td>".$row["tgl_reg"]."</td>";
echo "</tr>";
}
echo "</table>";
}
else echo "Tidak ada Record didalam tabel";

// menutup koneksi mysql
$conn->close();
?>

4. Menampilkan record dalam bentuk tabel dengan PDO

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MyPDODB";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

// set the PDO error mode untuk exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM User");
$stmt->execute();

// set array result ke assosiatif
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

//membuat tabel dan heading
echo "<table border=1>";
echo "<tr>";
echo "<th>Id</th>";
echo "<th>Nama</th>";
echo "<th>Password</th>";
echo "<th>Email</th>";
echo "<th>Tanggal registrasi</th>";
echo "</tr>";

//menampilkan data dalam array
foreach(($stmt->fetchAll()) as $row)
{
echo "<tr>";
echo "<td>".$row["id"]."</td>";
echo "<td>".$row["nama"]."</td>";
echo "<td>".$row["password"]."</td>";
echo "<td>".$row["email"]."</td>";
echo "<td>".$row["tgl_reg"]."</td>";
echo "</tr>";
}
echo "</table>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

// menutup koneksi
$conn = null;
?>

Referensi :

  • //www.w3schools.com/php/php_mysql_select.asp
  • //www.w3schools.com/html/html_tables.asp

Filed Under: PHP

Cara Insert Multi Data Pada MySQL Dengan PHP

16 November 2014 By Eko Purnomo

insert multi data mysql dengan php

Dengan PHP kita juga bisa melakukan INSERT beberapa data secara sekaligus. Seperti telah dijelaskan sebelumnya pada tulisan tentang Insert data MySQL dengan PHP bahwa kita melakukan insert data dengan printah query INSERT. Nah, jika kita akan melakukan insert banyak data secara sekaligus bersamaan kita harus menggabungkan masing-masing perintah SQL INSERT tersebut.

Dalam penggabungan perintah SQL ini kita menggunakan operator dot (.) dan untuk menjalankan query hasil penggabungan kita menggunakan perintah mysqli_multi_query() pada mysqli extension. masing-masing perintah SQL harus dipisahkan dengan titik koma (;).

Catatan : menjalankan multi query hanya disupport oleh mysqli extension, jadi mysql extension tidak menyediakan fasilitas untuk menjalankan multi query.

Berikut contoh script PHP untuk melakukan insert multi data pada tabel MySQL

1. Insert multi data pada MySQL dengan MySQLI Extension (Procedural)

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB1";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysqli_connect_error());
else echo "Koneksi Database Berhasil ...<br/>";

// membuat sql untuk insert data
//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database
$sql1 = "INSERT INTO User (nama,password,email)
VALUES ('agus', 'abc', 'agus@website.com');";

$sql2 = "INSERT INTO User (nama,password,email)
VALUES ('budi', 'def', 'budi@website.com');";

$sql3 = "INSERT INTO User (nama,password,email)
VALUES ('candra', 'ghi', 'candra@website.com');";

//menggabungkan sql1, sql2 dan sql3
$sql = $sql1.$sql2.$sql3;

//menjalankan query hasil penggabungan
if (mysqli_multi_query($conn, $sql)) {
echo "Data baru berhasil ditambahkan...";
} else {
echo "Data baru gagal dibuat: " . mysqli_error($conn);
}

// menutup koneksi mysql
mysqli_close($conn);
?>

2. Insert multi data pada MySQL dengan MySQLI Extension (Object Oriented)

<?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database Berhasil ...<br/>";

// membuat sql untuk insert data
//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database
$sql1 = "INSERT INTO User (nama,password,email)
VALUES ('agus', 'abc', 'agus@website.com');";

$sql2 = "INSERT INTO User (nama,password,email)
VALUES ('budi', 'def', 'budi@website.com');";

$sql3 = "INSERT INTO User (nama,password,email)
VALUES ('candra', 'ghi', 'candra@website.com');";

//menggabungkan sql1, sql2 dan sql3
$sql = $sql1.$sql2.$sql3;

//menjalankan query hasil penggabungan
if ($conn->multi_query($sql) === TRUE) {
echo "Data baru berhasil ditambahkan...";
} else {
echo "Data baru gagal dibuat: " . $conn->error;
}

//menutup koneksi
$conn->close();
?>

3. Insert multi data pada MySQL dengan PDO

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MyPDODB";

try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

// set the PDO error mode untuk exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// mulai sebuah transaksi
$conn->beginTransaction();

// membuat beberapa statemen query
$conn->exec("INSERT INTO User (nama,password,email)
VALUES ('agus', 'abc', 'agus@website.com')");

$conn->exec("INSERT INTO User (nama,password,email)
VALUES ('budi', 'def', 'budi@website.com')");

$conn->exec("INSERT INTO User (nama,password,email)
VALUES ('candra', 'ghi', 'candra@website.com')");

// komit transaksi
$conn->commit();

//pesan jika berhasil
echo "Data baru berhasil ditambahkan...";
}
catch(PDOException $e)
{
// roll back transaksi jika error sesuatu
$conn->rollback();

echo $sql . "<br>" . $e->getMessage();
}

// menutup koneksi
$conn = null;
?>

Referensi :

  • //www.w3schools.com/php/php_mysql_insert_multiple.asp
  • //stackoverflow.com/questions/11106719/php-multiple-mysql-commands-in-one-mysql-query-query

Filed Under: PHP

Mengetahui ID Record Terakhir MySQL Dengan PHP

16 November 2014 By Eko Purnomo

id terakhir insert-update mysql

Jika kita menetapkan suatu field AUTO INCREMENT misalnya sebuah ID, maka kita bisa mendapatkan ID terakhir saat melakukan proses INSERT atau UPDATE. Seperti pada contoh saat kita melakukan INSERT data pada tabel User pada artikel sebelumnya kita menetapkan field bernama id dengan tipe INTEGER AUTO INCREMENT maka kita bisa menambahkan script untuk mendapatkan ID terakhir dengan cara mengambail nilai yang disebut insert_id.

Berikut ini contoh script PHP untuk mengambil ID record terakhir saat INSERT tabel MySQL seperti pada artikel sebelumnya tentang insert data MySQL dengan PHP.

1.Mengetahui ID Record Terakhir MySQL dengan MySQL Extension

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = 'MySQLDB';

// membuat koneksi mysql
$conn = mysql_connect($dbHost, $dbUser, $dbPass, $dbName);

// Mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysql_error());
else echo "Koneksi MySQL Berhasil ...<br/>";

//membuat koneksi database
$dbSelected = mysql_select_db($dbName, $conn);

// Mengecek koneksi database
if (!$dbSelected) die ('Koneksi Gatabase Gagal: ' . mysql_error());
else echo "Koneksi Database Berhasil ...<br/>";

//menentukan data yang akan diinsertkan
$nama = "Sabrina";
$password = "123456";
$email = "sabrina20080602@gmail.com";

//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database

// insert data ke tabel User
$sql = "INSERT INTO User (nama,password,email)
VALUES ('$nama', '$password', '$email')";

if (mysql_query($sql)) {
//mendapatkan id terakhir dengan fungsi mysql_insert_id
$last_id = mysql_insert_id($conn);

echo "Data baru berhasil dibuat dengan id= ".$last_id."<br/><br/>";
echo "<b>Detail Data :</b><br/>";
echo "Nama = ".$nama."<br/>";
echo "Password = ".$password."<br/>";
echo "Email = ".$email."<br/>";
}
else {
echo "Data baru gagal dibuat: " . mysql_error($conn);
}

//menutup koneksi mysql
mysql_close($conn);
?>

2.Mengetahui ID Record Terakhir MySQL dengan MySQLI Extension (Procedural)

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB1";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysqli_connect_error());
else echo "Koneksi Database Berhasil ...<br/>";

//menentukan data yang akan diinsertkan
$nama = "Sabrina";
$password = "123456";
$email = "sabrina20080602@gmail.com";

//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database

// insert data ke tabel User
$sql = "INSERT INTO User (nama,password,email)
VALUES ('$nama', '$password', '$email')";

if (mysqli_query($conn, $sql)) {
//mendapatkan id terakhir dengan fungsi mysqli_insert_id
$last_id = mysqli_insert_id($conn);

echo "Data baru berhasil dibuat dengan id = ".$last_id." (dengan MySQLI Extension Procedural)<br/><br/>";
echo "<b>Detail Data :</b><br/>";
echo "Nama = ".$nama."<br/>";
echo "Password = ".$password."<br/>";
echo "Email = ".$email."<br/>";
}
else {
echo "Data baru gagal dibuat: " . mysqli_error($conn);
}
// menutup koneksi mysql
mysqli_close($conn);
?>

3.Mengetahui ID Record Terakhir MySQL dengan MySQLI Extension (Object Oriented)

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database Berhasil ...<br/>";

//menentukan data yang akan diinsertkan
$nama = "Sabrina";
$password = "123456";
$email = "sabrina20080602@gmail.com";

//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database

// insert data ke tabel User
$sql = "INSERT INTO User (nama,password,email)
VALUES ('$nama', '$password', '$email')";

if ($conn->query($sql) === TRUE) {
//mendapatkan id terakhir pada insert_id
$last_id = $conn->insert_id;

echo "Data baru berhasil dibuat dengan id = ".$last_id." (dengan MySQLI Object Oriented)<br/><br/>";
echo "<b>Detail Data :</b><br/>";
echo "Nama = ".$nama."<br/>";
echo "Password = ".$password."<br/>";
echo "Email = ".$email."<br/>";
} else {
echo "Data baru gagal dibuat: " . $conn->error;
}

//menutup koneksi
$conn->close();
?>

4.Mengetahui ID Record Terakhir MySQL dengan PDO

 <?php   
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MyPDODB";

try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

// set the PDO error mode untuk exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

//menentukan data yang akan diinsertkan
$nama = "Sabrina";
$password = "123456";
$email = "sabrina20080602@gmail.com";

//untuk field id dan tgl_reg tidak diisi karena otomatis akan diisi oleh database

// insert data ke tabel User
$sql = "INSERT INTO User (nama,password,email)
VALUES ('$nama', '$password', '$email')";

// gunakan exec() karena tidak mengembalikan result
$conn->exec($sql);

// mendapatkan id terakhir dengan fungsi lastInsertId()
$last_id = $conn->lastInsertId();

echo "Data baru berhasil dibuat dengan id = ".$last_id." (dengan PDO)<br/><br/>";
echo "<b>Detail Data :</b><br/>";
echo "Nama = ".$nama."<br/>";
echo "Password = ".$password."<br/>";
echo "Email = ".$email."<br/>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

// menutup koneksi
$conn = null;
?>

Referensi :

  • //www.w3schools.com/php/php_mysql_insert_lastid.asp

Filed Under: PHP

Menghapus Data Pada Tabel MySQL dengan PHP

16 November 2014 By Eko Purnomo

menghapus data tabel mysql dengan php

Setelah perintah query INSERT, SELECT dan UPDATE kita akan belajar cara menghapus data dari tabel MySQL dengan perintah DELETE. Seperti pada perintah UPDATE, kita harus menggunakan klusul WHERE pada perintah query DELETE, jika tidak maka semua record akan terhapus, sekali lagi semu record akan terhapus, jadi sangat berbahaya.

Bentuk penulisan perintah DELETE

DELETE FROM [nama_table] Where [KONDISI];

Contoh penulisan perintah DELETE

DELETE FROM user WHERE id=1;

Berikut ini script PHP untuk menghapus data pada tabel MySQL:

1. Menghapus data pada tabel MySQL dengan MySQL Extension

  <?php    
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = 'MySQLDB';

// membuat koneksi mysql
$conn = mysql_connect($dbHost, $dbUser, $dbPass, $dbName);

// Mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysql_error());
else echo "Koneksi MySQL Berhasil ...<br/>";

//membuat koneksi database
$dbSelected = mysql_select_db($dbName, $conn);

// Mengecek koneksi database
if (!$dbSelected) die ('Koneksi Gatabase Gagal: ' . mysql_error());
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//menentukan id record yang akan dihapus
$id=1;

//membuat query menghapus record pada tabel User
$query="DELETE FROM User WHERE id=$id";

//menjalankan query
if (mysql_query($query)) {
echo "Data dengan id=".$id ." berhasil dihapus<br/>";
} else die ("Error menjalankan query". mysql_error());

//menutup koneksi mysql
mysql_close($conn);
?>

2. Menghapus data pada tabel MySQL dengan MySQLI Extension (Procedural)

 <?php  
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB1";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if (!$conn) die("Koneksi Gagal: " . mysqli_connect_error());
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//menentukan id record yang akan dihapus
$id=1;

//membuat query menghapus record pada tabel User
$query="DELETE FROM User WHERE id=$id";

//menjalankan query
if (mysqli_query($conn,$query)) {
echo "Data dengan id=".$id ." berhasil dihapus<br/>";
} else die ("Error menjalankan query". mysqli_error());

// menutup koneksi mysql
mysqli_close($conn);
?>

3. Menghapus data pada tabel MySQL dengan MySQLI Extension (Object Oriented) 

 <?php  
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MySQLIDB2";

// membuat koneksi mysql
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// mengecek koneksi mysql
if ($conn->connect_error) die("Koneksi Gagal: " . $conn->connect_error);
else echo "Koneksi Database ".$dbName." Berhasil ...<br/><br/>";

//menentukan id record yang akan dihapus
$id=1;

//membuat query menghapus record pada tabel User
$query="DELETE FROM User WHERE id=$id";

//menjalankan query
if ($conn->query($query)) {
echo "Data dengan id=".$id ." berhasil dihapus<br/>";
} else die ("Error menjalankan query". mysqli_error());

//menutup koneksi
$conn->close();
?>

4. Menghapus data pada tabel MySQL dengan PDO

<?php  
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "123";
$dbName = "MyPDODB";
try {
$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

// set the PDO error mode untuk exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

//menentukan id record yang akan dihapus
$id=1;

//membuat query menghapus record pada tabel User
$query="DELETE FROM User WHERE id=$id";

// Membuat prepare statement
$stmt = $conn->prepare($query);

// menjalankan query
$stmt->execute();

// menampilkan pesan
echo "Data dengan id=".$id ." berhasil dihapus<br/>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}

// menutup koneksi
$conn = null;
?>

Referensi:

  • //www.w3schools.com/php/php_mysql_delete.asp

Filed Under: PHP

  • « Previous Page
  • 1
  • …
  • 5
  • 6
  • 7
  • 8
  • 9
  • …
  • 17
  • Next Page »

Kategori

  • Android
  • Blogging
  • CSS
  • Desain
  • Elektronika
  • HTML
  • Internet
  • Javascript
  • Komputer
  • Mikrokontroler
  • PHP
  • Website

Pos-pos Terbaru

  • Rangkaian Adaptor 12 Volt 3 Ampere
  • 10 Aplikasi Transportasi Online Terbaru 2018
  • 3 Cara Screenshot di Laptop Windows
  • Rangkaian Adaptor 12V 35Ampere
  • Komunitas Desainer Kampung Jepara
  • Solder Yang Bagus dan Berkualitas
  • Cara Melewatkan Parameter ke dalam Fungsi pada Bahasa C
  • Parameter Dalam Bahasa C: Formal dan Aktual
  • Prototipe Fungsi dalam Bahasa C
  • Cara Menggunakan Fungsi dalam Bahasa C
  • Home
  • Privacy
  • Disclaimer
  • Kontak

Copyright © 2024 · Nulis-ilmu.com