2011-09-10

Pear db part 2

Ready to slay the beast
 untuk berikutnya sy akan jelaskan tentang query..

dalam melakukan query, terutama query yg akan menghasilkan tampilan (select), kita jangan lupa akan debug untuk mengetahui apakah sql yg kita input benar atau tidak..

lainnya, kita juga harus memastikan bentuk keluaran data yang ditarik. Dalam menarik data dari database, ada 2 macam yaitu
  • berbentuk no urut
  • berbentuk nama
maksudnya akan jelas pada script dibawah.
<?php  require_once 'DB.php';
$dsn1 = array(
    
'phptype'  => 'mysqli',
    
'username' => 'nasgor',
    
'password' => '123123',
    
'hostspec' => 'localhost',
    
'database' => 'apotik',
);
$options = array(
    
'debug'       => 2,
    
'portability' => DB_PORTABILITY_ALL,
);
$db1 =& DB::connect($dsn1$options);
if (
PEAR::isError($db1)) {
    
$err.="<br>DB 1: ".$db1->getMessage();
}

$res =& $db1->query('SELECT * FROM area ');
if (
PEAR::isError($res)) {
    
$err.="<br>DB 1 sql: ".$res->getMessage();
}
//default:DB_FETCHMODE_ORDERED while($res->fetchInto($rowDB_FETCHMODE_ASSOC)) 
{
    
$s.=$row['kode']."  \n";
    
}
$db->disconnect();

echo 
nl2br($s);
silakan edit sesuai yang anda kehendaki.
dalam tulisan di atas kita akan mendapat yaitu bentuk nama... dimana dalam contoh ini sy memiliki table area yag berisi
  • kode
  • wilayah
di contoh ini saya akan menarik berdasarkan nama yaitu kode
jadi ketika saya keluarkan, sy tidak lupa menuliskan
DB_FETCHMODE_ASSOC
tetapi bila kedepannya kamu akan memakai terus.. berikan perintah
$db->setFetchMode(DB_FETCHMODE_ASSOC); 
untuk memastikan query yg km isi mengeluarkan tulisan bukan angka

bagaimana dengan standarnya? standarnya adalah
DB_FETCHMODE_ORDERED
itu berbasis angka?!
pada tutorial berikutnya sy akan tulis contoh memakai DB_FETCHMODE_ORDERED dan cara mengambil data pada posisi tertentu.. dimana kamu sendiri melakukan query memanggil banyak data ..
contoh: mengambil data ke 4 tetapi kamu query memanggil data hingga 30?!?

fungsi yang dibahas saat ini adalah:
fetchInto (
     array &$arr [, 
     integer $fetchMode = DB_FETCHMODE_DEFAULT [, 
     integer $rowNum = NULL]]
)

Tidak ada komentar: