//ขั้นแรกให้เชื่อมต่อกับฐานข้อมูล mysql
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//ถ้าคุณต้องการเชื่อมต่อกับ mssql:
//mssql:host=localhost;dbname=testdb
//เชื่อมต่อกับ pgsql:
//pgsql:host=localhost port=5432 dbname=testdb user=bruce รหัสผ่าน=mypass
//เชื่อมต่อกับ odbc(DSN)
//odbc:testdb
// แม้แต่การเข้าถึง:
//odbc:Driver={ไดรเวอร์ Microsoft Access (*.mdb)};Dbq=C:\db.mdb;Uid=Admin
//นอกจากนี้ยังมี oracle, sqlite, db2....
//ดำเนินการค้นหา
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //ผลลัพธ์นี้คล้ายกับ mysql_fetch_array. PDOStatement::setFetchMode สามารถปรับเปลี่ยนได้
}
//อีกด้วย:
$sth = $dbh->prepare("เลือกชื่อ, สีจากผลไม้");
$sth->execute();
//อ่านบันทึกทั้งหมดที่ตั้งไว้ในอาร์เรย์:
$result = $sth->fetchAll();
print_r($ผลลัพธ์);
//เอาท์พุท:
อาร์เรย์
-
[0] => อาร์เรย์
-
[NAME] => ลูกแพร์
[0] => ลูกแพร์
[สี] => สีเขียว
[1] => สีเขียว
)
[1] => อาร์เรย์
-
[NAME] => แตงโม
[0] => แตงโม
[สี] => ชมพู
[1] => สีชมพู
)
)
//แทรก/ลบ/อัปเดตข้อมูล:
$count = $dbh->exec("ลบออกจากผลไม้ WHERE color = 'red'");
//$count คือจำนวนรายการที่ถูกลบ เทียบเท่ากับ mysql_affected_rows
//คุณยังสามารถใช้ PDOStatement::rowCount
//ฉันลืมว่าฉันใช้ฐานข้อมูลอะไร - - -
ถ้า ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
echo "กำลังรันบน mysql กำลังทำบางอย่างที่ mysql เฉพาะที่นี่n";
}
//Mysql_escape_string เคยใช้ตอนใส่ข้อมูลตอนนี้เหรอ?
พิมพ์ "สตริงที่ไม่มีเครื่องหมายคำพูด: $stringn";
พิมพ์ "สตริงที่ยกมา: " . $conn->quote($string) .
//รับ:
สตริงที่ไม่มีเครื่องหมายคำพูด: ดี
สตริงที่ยกมา: 'ดี'
//คุณจะเห็นว่าตอนนี้แม้แต่เครื่องหมายคำพูดก็ถูกเพิ่มโดยอัตโนมัติ - - -
//โปรดทราบว่าผลลัพธ์จะแตกต่างกันในฐานข้อมูลที่แตกต่างกัน เช่น ' => '', บางส่วน ' => ', => \
//ไม่ต้องกังวลตอนนี้ อัตโนมัติเต็มรูปแบบ
//สุดท้ายก็ต้องปิดมันลง
$conn = โมฆะ;
//แต่! คุณสามารถเชื่อมต่อได้โดย:
$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
array(PDO_ATTR_PERSISTENT => true));
//ง่ายมากใช่ไหม?
เอกสารแนบ: วิธีการโทรพิเศษที่ง่ายมาก:
$stmt = $dbh->prepare("SELECT * FROM REGISTRY โดยที่ name = ?");
if ($stmt->execute(array($_GET['name']))) { //คุณกลัวอะไร? เสนอราคาอัตโนมัติ!
ในขณะที่ ($row = $stmt->fetch()) {
print_r($แถว);
-
}
อีกด้วย:
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['ไฟล์']['ประเภท']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);
ฉันจะหาฟังก์ชันที่ดีเช่นนี้ได้ที่ไหน? php5.1 และสูงกว่านั้นอยู่ในส่วนขยาย php5 อยู่ใน pecl, php4 ใช่ไหม อย่าคิดเรื่องนี้เลย