บทความนี้เกี่ยวข้องกับการสร้างฟังชั่น เพื่อเชื่อมต่อฐานข้อมูล และดึงข้อมูลขึ้นมาแสดง ยังไม่เต็มรูปแบบของ OOP เนื่องจากยังไม่มีการสร้าง Object ภายนอก เพียงแต่มีรูปแบบการเชื่อมต่อฐานข้อมูลแบบ OOP และสามารถนำไปใช้ได้จริง เรียกว่า สร้างจินตนาการ อุ่นเครื่องกันก่อน.....
เริ่ม
ผมจะสร้างไฟล์ขึ้นมา 2 ไฟล์ คือ index.php กับ MySqlConnect.php
ที่ไฟล์ MySqlConnect.php ผมจะสร้าง function เพื่อเชื่อมต่อฐานข้อมูลก่อน ดังนี้
ไฟล์ MySqlConnect.php
function connect() { $conn = new mysqli('host', 'username', 'password', 'database') or die('not connect to sql'); return $conn; }โค้ดที่ท่านเห็นด้านบน นี้คือการเชื่อมต่อฐานข้อมูลแบบ OOP ในฟังก์ชั่นนี้มีการสร้างอ็อบเจ็กต์ คือ
$conn = new mysqli(); เป็นรูปแบบการเชื่อมต่อกับฐานข้อมูล MySQL แบบใหม่ซึ่ง สามารถใช้งานได้ ใน MySQL 4.1 ขึ้นไป
ส่วนที่ไฟล์ index.php ผมก็จะนำเข้าไฟล์ MySqlConnect.php และสร้างตัวแปรขึ้นมาเพื่อเรียกใช้ function connect();
ไฟล์ index.php
<!DOCTYPE html"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php require_once('MySqlConnect.php'); $conn = connect(); ?> </body> </html>มาถึงตอนนี้เราก็ทำการเชื่อมต่อฐานข้อมูลเรียบร้อยแล้ว เหลือแต่ select ตารางฐานข้อมูลและ query ออกมา
เท่านั้นเอง ไปต่อกันเลยครับ...
ที่ไฟล์ MySqlConnect.php ผมจะสร้างฟังก์ชั่นอีกคือ getSql();
function getSql($conn='', $sql='') { $query = $conn->query($sql); $rows = array(); while ($row = $query->fetch_array()) { $rows[] = $row; } return $rows; }ฟังก์ชั่นนี้รับค่า parameter มาสองค่า คือ $conn, $sql ก็คือตัวแปรที่เราได้สร้างเอาไว้ที่ไฟล์ index.php
แล้วผมก็ query ออกมา เก็บข้อมูลในรูปแบบ Array แล้วก็ return ค่าออกไป
จากนั้นที่ไฟล์ index.php ก็ไปสร้างตัวแปรเพื่อส่งค่า parameter ไปให้กับ function getSql()
พร้อมทั้งวนลูป ค่าที่ได้รับการคืนค่ากลับออกมา
ไฟล์ index.php
$sql = 'select * from article'; $results = getSql($conn, $sql); foreach($results as $row){ echo "<div style='width:400px;margin-left:200px;'>"; echo "<h3>".$row['title']."</h3>"; echo $row['article']; echo "</div>";เพียงเท่านี้เราก็จะได้ฟังก์ชั่นการเชื่อมต่อฐานข้อมูล พร้อมทั้ง query ข้อมูลออกมาแสดง แบบง่ายๆ
บทความนี้ก็ขอจบเพียงเท่านี้ครับ ผิดพลาดยังไงก็ขออภัยด้วยครับ.....
ไฟล์ index.php
<!DOCTYPE html> <html lang="th"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php require_once('MySqlConnect.php'); $conn = connect(); $sql = 'select * from article'; $results = getSql($conn, $sql); foreach($results as $row){ echo "<div style='width:500px;margin-left:100px;'>"; echo "<h3>".$row['title']."</h3>"; echo $row['article']; echo "</div>"; } ?> </body> </html>
ไฟล์ MySqlConnect.php
<?php function connect() { $conn = new mysqli('localhost', 'root', '', 'bookneo') or die('not connect to sql'); return $conn; } function getSql($conn, $sql) { $query = $conn->query("SET NAMES UTF8"); $query = $conn->query($sql); $rows = array(); while ($row = $query->fetch_array()){ $rows[] = $row; } return $rows; } ?>
อยากเขียนกล่องแสดงความคิดเห็นได้อะคะ
ตอบลบโทษทีครับ ช่วงนี้ไม่ค่อยว่าง เอาไว้มีเวลาจะเขียนมาให้อ่านครับ
ลบ