2012-11-13

mysql: mengunakan mysqli dari mysql

dinasty warior 8
kata orang tua, hati-hati dengan wanita cantik. Semakin cantik dia, semakin berbahaya dirinya. Kalau dipikir-pikir ini kuambil dari film To-Liong-to. gmbar di atas dari game Dinasty warior, mengambil setting 3 negara. Di dalam PHP sebenarnya ada pertentangan antara A dan B, yang mana satu berfikir bahwa tehnik cepat adalah yang terbaik. Satu lagi berfikir tehnik jelas adalah yang terbaik. Tehnik jelas disini adalah logic untuk memastikan data tepat yang melewati banyak prosedur. Tetapi pada akhirnya tehnik pertama yang cepat selalu menang.

Sebenarnya ada pertentangan tak langsung dalam membuat program yaitu antara pemakaian class dan fungsi. Dengan Class kita bisa lebih terstuktur tetapi tidak mudah bagi awam, apalagi takutnya gara-gara terstuktur malah kita membuat calon programer PHP baru kabur?!? Tanpa basa basi saya akan menjelaskan tentang membiasakan diri dari mysql ke mysqli.

Pertama saya harus mengakui bahwa tulisan ini juga tidak mengurui anda para pembaca, tetapi saya juga sebagai orang yang sering memakai mysql tapi bukan memakai mysqli

$mysqli = new mysqli("localhost""my_user""my_password""world"); 
/* check connection */ 
if (mysqli_connect_errno()) {      
printf("Connect failed: %s\n"mysqli_connect_error());      
exit(); 

printf("Host information: %s\n"$mysqli->host_info); 
/* close connection */
$mysqli->close();
Di atas adalah dasar memakai mysqli, sementara bila saya memakai mysql, saya akan membuat

$mysql= mysql_connect("localhost","user","my_pass") or die('error :'.mysql_error());
mysql_select_db('world');
print "host info :".mysql_get_host_info();
mysql_close();

Terlihat jelas bahwa perbedaannya tidak terlalu banyak. Cukup dibiasakan maka kamu akan biasa menggunakannya. Tetapi pelajaran hari ini tidak di tutup dengan memanggil host, mari kita lanjut memanggil query dan memastikan tidak ada error.

$sql="SELECT Name FROM City LIMIT 10";
if ($result = $mysqli->query($sql)) 
{
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */

    $result->close();
}else{  
    print "error ".$mysqli->error;
}

Normalnya anda akan mendapatkan error menjalankan di atas, artinya itu sudah benar. sebagai penutup saya akan berikan mode prosedural dari mysqli di atas. Sebenarnya akan lebih enak kalau anda membuat dalam bentuk class, tetapi bila anda sudah biasa dengan fungsi... saya tidak keberatan.

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Host information: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);

Berikutnya kita akan membuat fungsi sendiri, jadi anda tidak repot kedepannya.

Tidak ada komentar: