บทความนี้เกี่ยวข้องกับการสร้างฟังชั่น เพื่อเชื่อมต่อฐานข้อมูล และดึงข้อมูลขึ้นมาแสดง ยังไม่เต็มรูปแบบของ 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;
}
?>

