สวัสดีครับ ในบทความนี้จะแจกตัวอย่าง Code PHP PDO ตัวอย่างการเชื่อมต่อ 2 ฐานข้อมูลในหน้าเดียวกัน และโค้ดจะรองรับ php7, php8 *ฝึกไว้ครับเผื่อได้ใช้
ขอแนะนำระบบพร้อมใช้
1.เว็บอีคอมเมิร์ช คลิก
2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก
3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก
4.หลังบ้านระบบอีคอมเมิร์ช คลิก
5.เว็บบริษัท / เว็บองค์กร คลิก
6.ระบบหอพัก โปรแกรมหอพัก คลิก
7.ระบบอื่นๆ เพิ่มเติม คลิก
รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
โค้ดประกอบด้วย
- PHP PDO
- MySQL SQL Query
มาเริ่มทำ workshop กันครับ *คอมเม้นอยู่ในโค้ด
0.รวม Workshop PHP PDO ก่อนหน้าคลิก
1.Import ฐานข้อมูลและตารางที่เกี่ยวข้อง คัดลอก Code ด้านล่าง จากนั้นไปที่เมนู sql คัดลอกโค้ดไปวางและ go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
CREATE DATABASE IF NOT EXISTS `workshop_db001` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `workshop_db001`; -- -------------------------------------------------------- -- -- Table structure for table `tbl_test1` -- CREATE TABLE `tbl_test1` ( `id` int(11) NOT NULL, `name` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `tbl_test1` -- INSERT INTO `tbl_test1` (`id`, `name`) VALUES (1, 'ทดสอบ db workshop_db001 data 001'), (2, 'ทดสอบ db workshop_db001 data 002'), (3, 'ทดสอบ db workshop_db001 data 003'), (4, 'ทดสอบ db workshop_db001 data 004'); -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_test1` -- ALTER TABLE `tbl_test1` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_test1` -- ALTER TABLE `tbl_test1` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; -- -- Database: `workshop_db002` -- CREATE DATABASE IF NOT EXISTS `workshop_db002` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `workshop_db002`; -- -------------------------------------------------------- -- -- Table structure for table `tbl_test2` -- CREATE TABLE `tbl_test2` ( `id` int(11) NOT NULL, `name` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `tbl_test2` -- INSERT INTO `tbl_test2` (`id`, `name`) VALUES (1, 'ทดสอบ db workshop_db002 data 001'), (2, 'ทดสอบ db workshop_db002 data 002'), (3, 'ทดสอบ db workshop_db002 data 003'), (4, 'ทดสอบ db workshop_db002 data 004'); -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_test2` -- ALTER TABLE `tbl_test2` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_test2` -- ALTER TABLE `tbl_test2` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; |
2.ไฟล์ workshop connect2db.php มีคอมเม้นเพิ่มเติมใน Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Connecting Multiple Databases with PHP PDO ตัวอย่างการเชื่อมต่อ 2 ฐานข้อมูลในหน้าเดียวกัน</title> <link rel="stylesheet" href=""> </head> <body> <?php //เชื่อมต่อฐานข้อมูลก้อนที่ 1 $servername1 = "localhost"; $username1 = "root"; //username $password1 = ""; //password try { $condb1 = new PDO("mysql:host=$servername1;dbname=workshop_db001;charset=utf8", $username1, $password1); // set the PDO error mode to exception $condb1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e1) { echo "Connection failed: " . $e1->getMessage(); } /********************************/ //เชื่อมต่อฐานข้อมูลก้อนที่ 2 $servername2 = "localhost"; $username2 = "root"; //username $password2 = ""; //password try { $condb2 = new PDO("mysql:host=$servername2;dbname=workshop_db002;charset=utf8", $username2, $password2); // set the PDO error mode to exception $condb2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e2) { echo "Connection failed: " . $e2->getMessage(); } echo '<h3> Connecting Multiple Databases with PHP PDO ตัวอย่างการเชื่อมต่อ 2 ฐานข้อมูลในหน้าเดียวกัน </h3>'; //คิวรี่ข้อมูลออกมาดูจากฐานข้อมูล workshop_db001 $stmtDB1 = $condb1->prepare("SELECT* FROM tbl_test1"); $stmtDB1->execute(); $resultDB1 = $stmtDB1->fetchAll(); echo '<h4> แสดงข้อมูลจากฐานข้อมูล workshop_db001 </h4>'; //วนซ้ำข้อมูล foreach ($resultDB1 as $row1) { echo 'id : '.$row1['id']. ' name : '.$row1['name'].'<hr>'; } //คิวรี่ข้อมูลออกมาดูจากฐานข้อมูล workshop_db002 $stmtDB2 = $condb2->prepare("SELECT* FROM tbl_test2"); $stmtDB2->execute(); $resultDB2 = $stmtDB2->fetchAll(); echo '<h4> แสดงข้อมูลจากฐานข้อมูล workshop_db002 </h4>'; //วนซ้ำข้อมูล foreach ($resultDB2 as $row2) { echo 'id : '.$row2['id']. ' name : '.$row2['name'].'<hr>'; } //ปิดการเชื่อมต่อฐานข้อมูล $condb1 = null; //close connect db $condb2 = null; //close connect db //devbanban.com //คอร์สออนไลน์ : https://devbanban.com/?p=2867 ?> </body> </html> |
3.ผลการทำงาน
ลองเอาไปประยุกต์ใช้ดูครับ และฝากติดตาม workshop ต่อๆ ไปด้วยครับผม
Bootstrap5 : https://getbootstrap.com/
ฝึก SQL : https://www.w3schools.com/sql/default.asp
แหล่งศึกษา PDO เพิ่มเติม : https://websitebeaver.com/php-pdo-vs-mysqli
List of PDOStatement::bindParam data_type parameters : https://www.php.net/manual/en/pdo.constants.php
ขอแนะนำระบบพร้อมใช้งาน *รายละเอียดและราคาอยู่ใต้คลิป
ระบบพร้อมใช้ทั้งหมด คลิก
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com