โดย mindphp » 21/06/2007 11:22 pm
ขอ พูด รวมๆ ก่อน ละกันนะครับ การ ติด ต่อ Access ทำได้ โดย หลัก 3 แบบ แบบ
แรก ทำ ผ่าน COM ตามที่ท่าน ทำ
สอง ใช้ ODBC
สาม ADODB php (จริงๆ ก็ แบบ สอง แต่ทำให้ง่าย ขึ้น )
ทีนี้ ต้อง ถาม ว่า ต้อง การ ติดต่อ ด้วย วิธี ใดก่อน
แต่ ถ้าต้องการ ติดต่อ แบบ ที่ยก มา ตัวอย่าง ก็ ตามนี้ครับ
<?php
//ãËé¡Ó˹´¾Ò¸¢Í§ SiteDB.mdb ãËéàËÁÒÐÊÁ
$dbpath = "C:\wwwroot\SiteDB.mdb";
//¤ÅÒÊ Connection ãªéÊÓËÃѺà»Ô´°Ò¹¢éÍÁÙÅ
$conn = new COM("ADODB.Connection");
//Êèǹ¹Õéà»ç¹ connection string ·ÕèãªéµÔ´µèÍä»Âѧ°Ò¹¢éÍÁÙÅ SiteDB.mdb
//ãËéãªéÃËÑʼèÒ¹·Õè¤Ø³¡Ó˹´äÇé (ÃËÑʼèÒ¹¢Í§¼Ùéà¢Õ¹¤×Í 123)
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=";
$connstr = $connstr . $dbpath . ";uid=admin;pwd=123;";
//àÃÕ¡àÁ¸çÍ´ open() ¢Í§¤ÅÒÊ Connection à¾×èÍà»Ô´¡ÒõԴµè͡Ѻ°Ò¹¢éÍÁÙÅ
$conn->open($connstr);
//¤ÅÒÊ Recordset ãªéÊÓËÃѺ´Óà¹Ô¹¡ÒáѺàäÍÃì´µèÒ§æã¹°Ò¹¢éÍÁÙÅ
$rs = new COM("ADODB.Recordset");
$sql = "SELECT * FROM GuestBook;";
//àÃÕ¡àÁ¸çÍ´ open() ¢Í§¤ÅÒÊ Recordset à¾×èÍ»ÃÐÁÇżŤÓÊÑè§ SQL
/* ÍÒÃì¡ÔÇàÁ¹µìÊͧµÑÇËÅѧ (3 áÅÐ 1) à»ç¹¡ÒáÓ˹´»ÃÐàÀ·¢Í§à¤ÍÃìà«ÍÃìáÅÐÃٻẺ
¡ÒÃÅçͤ°Ò¹¢éÍÁÙÅ «Öè§à»ç¹àÃ×èͧ·ÕèÍÂÙè¹Í¡à˹×ͨҡà¹×éÍËҢͧº·¹ÕéáÅÐ˹ѧÊ×ÍàÅèÁ¹Õé */
$rs->open($sql, $conn, 3, 1);
while ($rs->eof == false) {
$fldID = $rs->fields("ID");
$fldName = $rs->fields("Name");
$fldPhone = $rs->fields("Phone");
$fldEmail = $rs->fields("Email");
$fldNote = $rs->fields("Note");
echo "<font color=blue><b>" . $fldID->value . "</b></font> : " . $fldName->value . "<br>";
echo "<b>ËÁÒÂàÅ¢â·ÃÈѾ·ì</b> : " . $fldPhone->value . "<br>";
echo "<b>ÍÕàÁÅìáÍ´à´ÃÊ</b> : " . $fldEmail->value . "<br>";
echo "<b>¢éͤÇÒÁ·Õèä´éÃѺ</b> :<br>";
echo $fldNote->value . "<hr>";
$rs->movenext();
}
$rs->close();
$conn->close();
?>
ขอ พูด รวมๆ ก่อน ละกันนะครับ การ ติด ต่อ Access ทำได้ โดย หลัก 3 แบบ แบบ
แรก ทำ ผ่าน COM ตามที่ท่าน ทำ
สอง ใช้ ODBC
สาม ADODB php (จริงๆ ก็ แบบ สอง แต่ทำให้ง่าย ขึ้น )
ทีนี้ ต้อง ถาม ว่า ต้อง การ ติดต่อ ด้วย วิธี ใดก่อน
แต่ ถ้าต้องการ ติดต่อ แบบ ที่ยก มา ตัวอย่าง ก็ ตามนี้ครับ
<?php
//ãËé¡Ó˹´¾Ò¸¢Í§ SiteDB.mdb ãËéàËÁÒÐÊÁ
$dbpath = "C:\wwwroot\SiteDB.mdb";
//¤ÅÒÊ Connection ãªéÊÓËÃѺà»Ô´°Ò¹¢éÍÁÙÅ
$conn = new COM("ADODB.Connection");
//Êèǹ¹Õéà»ç¹ connection string ·ÕèãªéµÔ´µèÍä»Âѧ°Ò¹¢éÍÁÙÅ SiteDB.mdb
//ãËéãªéÃËÑʼèÒ¹·Õè¤Ø³¡Ó˹´äÇé (ÃËÑʼèÒ¹¢Í§¼Ùéà¢Õ¹¤×Í 123)
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=";
$connstr = $connstr . $dbpath . ";uid=admin;pwd=123;";
//àÃÕ¡àÁ¸çÍ´ open() ¢Í§¤ÅÒÊ Connection à¾×èÍà»Ô´¡ÒõԴµè͡Ѻ°Ò¹¢éÍÁÙÅ
$conn->open($connstr);
//¤ÅÒÊ Recordset ãªéÊÓËÃѺ´Óà¹Ô¹¡ÒáѺàäÍÃì´µèÒ§æã¹°Ò¹¢éÍÁÙÅ
$rs = new COM("ADODB.Recordset");
$sql = "SELECT * FROM GuestBook;";
//àÃÕ¡àÁ¸çÍ´ open() ¢Í§¤ÅÒÊ Recordset à¾×èÍ»ÃÐÁÇżŤÓÊÑè§ SQL
/* ÍÒÃì¡ÔÇàÁ¹µìÊͧµÑÇËÅѧ (3 áÅÐ 1) à»ç¹¡ÒáÓ˹´»ÃÐàÀ·¢Í§à¤ÍÃìà«ÍÃìáÅÐÃٻẺ
¡ÒÃÅçͤ°Ò¹¢éÍÁÙÅ «Öè§à»ç¹àÃ×èͧ·ÕèÍÂÙè¹Í¡à˹×ͨҡà¹×éÍËҢͧº·¹ÕéáÅÐ˹ѧÊ×ÍàÅèÁ¹Õé */
$rs->open($sql, $conn, 3, 1);
while ($rs->eof == false) {
$fldID = $rs->fields("ID");
$fldName = $rs->fields("Name");
$fldPhone = $rs->fields("Phone");
$fldEmail = $rs->fields("Email");
$fldNote = $rs->fields("Note");
echo "<font color=blue><b>" . $fldID->value . "</b></font> : " . $fldName->value . "<br>";
echo "<b>ËÁÒÂàÅ¢â·ÃÈѾ·ì</b> : " . $fldPhone->value . "<br>";
echo "<b>ÍÕàÁÅìáÍ´à´ÃÊ</b> : " . $fldEmail->value . "<br>";
echo "<b>¢éͤÇÒÁ·Õèä´éÃѺ</b> :<br>";
echo $fldNote->value . "<hr>";
$rs->movenext();
}
$rs->close();
$conn->close();
?>