//Pertama sambungkan ke database mysql
$dbh = PDO baru('mysql:host=localhost;dbname=test', $user, $pass);
//Jika Anda ingin terhubung ke mssql:
//mssql:host=localhost;namadb=testdb
//Hubungkan ke pgsql:
//pgsql:host=localhost port=5432 dbname=testdb pengguna=bruce password=mypass
//Hubungkan ke odbc(DSN)
//odbc:testdb
//Akses genap:
//odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db.mdb;Uid=Admin
//Ada juga Oracle, sqlite, db2....
//Jalankan query
foreach ($dbh->query('SELECT * from FOO') sebagai $row) {
print_r($baris); //Hasil ini mirip dengan mysql_fetch_array. PDOStatement::setFetchMode dapat disesuaikan.
}
//Juga:
$sth = $dbh->prepare("PILIH nama, warna DARI buah");
$sth->execute();
//Baca seluruh kumpulan data ke dalam array:
$hasil = $sth->fetchAll();
print_r($hasil);
//Keluaran:
Himpunan
(
[0] => Susunan
(
[NAMA] => pir
[0] => pir
[WARNA] => hijau
[1] => hijau
)
[1] => Susunan
(
[NAMA] => semangka
[0] => semangka
[WARNA] => merah muda
[1] => merah muda
)
)
//Masukkan/hapus/perbarui data:
$count = $dbh->exec("HAPUS DARI buah WHERE color = 'red'");
//$count adalah jumlah item yang dihapus. Setara dengan mysql_affected_rows
//Anda juga dapat menggunakan PDOStatement::rowCount
//Saya lupa database apa yang saya gunakan. . . .
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
echo "Berjalan di mysql; melakukan sesuatu yang spesifik untuk mysql di sinin";
}
//Mysql_escape_string dulu digunakan saat memasukkan data, sekarang?
print "String tanpa tanda kutip: $stringn";
print "String yang dikutip: " . $conn->quote($string) "n";
//mendapatkan:
String yang tidak dikutip: Bagus
String yang dikutip: 'Bagus'
//Anda lihat, bahkan tanda kutip secara otomatis ditambahkan sekarang. . . .
//Perhatikan bahwa hasilnya berbeda pada database yang berbeda, misalnya beberapa ' => '', beberapa ' => ', => \
//Jangan khawatir sekarang, sepenuhnya otomatis.
//Akhirnya saya harus menutupnya
$sambungan = nol;
//Tetapi! Anda dapat tetap terhubung dengan:
$dbh = PDO baru('odbc:SAMPEL', 'db2inst1', 'ibmdb2',
array(PDO_ATTR_PERSISTENT => true));
//Sangat sederhana bukan?
Lampiran: Metode panggilan khusus yang sangat sederhana:
$stmt = $dbh->prepare("PILIH * DARI REGISTRY dimana nama = ?");
if ($stmt->execute(array($_GET['name']))) { //Apa yang kamu takutkan? Kutipan otomatis!
while ($baris = $stmt->mengambil()) {
print_r($baris);
}
}
Juga:
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);
Di mana saya dapat menemukan fungsi yang bagus? php5.1 ke atas ada di extension, php5 ada di pecl, php4?