การเขียน PHP ติดต่อกับฐานข้อมูล MySQL และตัวอย่างการใช้งาน

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderator: mindphp, ผู้ดูแลกระดาน

M013
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 829
ลงทะเบียนเมื่อ: 22/04/2010 12:02 pm

การเขียน PHP ติดต่อกับฐานข้อมูล MySQL และตัวอย่างการใช้งาน

โพสต์ที่ยังไม่ได้อ่าน โดย M013 »

Code การติดต่อฐานข้อมูล

โค้ด: เลือกทั้งหมด

<?php 
       $host = "localhost";
       $user = "root";
       $password = "";
       $dbname = "test";
       $tblname = "table_test";

       $obj_con = mysql_connect($host,$user,$password); or die(mysql_error());
       mysql_select_db($dbname); or die(mysql_error());
 
       $query= "Select * From $tblname";
       $data = mysql_query($query);
?>
อธิบายการทำงาน
$host = "localhost"; ==> สร้างตัวเเปล $host ขึ้นมาเพื่อเก็บชื่อเซิฟเวอร์ของฐานข้อมูล
$user = "root"; ==> สร้างตัวเเปล $user ขึ้นมาเพื่อเก็บชื่อที่ใช้สำหรับเข้าฐานข้อมูล
$password = ""; ==> สร้างตัวแปล $password ขึ้นมาเพื่อเก็บ Password สำหรับเข้าใช้ฐานข้อมูล (กรณีที่ไม่มีตั้ง Password เอาไว้)
$dbname = "test"; ==> สร้างตัวแปล $dbname ขึ้นมาเพื่อเก็บชื่อฐานข้อมูลที่เราต้องการใช้
$tblname = "table_test"; ==> สร้างตัวแปล $tblname ขึ้นเพื่อเก็บชื่อตารางที่เราต้องการใช้ (ซึ่งในส่วนนี้ไม่จำเป็นต้องเก็บไว้ในตัวแปลก็ได้)

$obj_con = mysql_connect($host,$user,$password); or die(mysql_error());
==> สร้างตัวแปล $obj_con เพื่อทำการเชื่อมต่อกับฐานข้อมูลด้วยฟังก์ชัน mysql_connect ซึ่งจำเป็นต้องส่งค่า ($host,$user,$password) ผ่านทางพารามิเตอร์ หรือ หากการเชื่อมต่อไม่สำเร็จให้เเสดงค่า error

mysql_select_db($dbname); or die(mysql_error());
==> เลือกฐานข้อมูลที่ต้องใช้ด้วยฟังก์ชัน mysql_select_db ซึ่งจำเป็นต้องส่งค่า ($dbname) ผ่านทางพารามิเตอร์ หรือ หากเลือกฐานข้อมูลไม่สำเร็จให้เเสดงค่า error

$query= "Select * From $tblname"; ==> การ Query โดยสร้างตัวแปล $query ขึ้นมาเพื่อเก็บคำสั่งที่ใช้ในการเลือกข้อมูล (หากไม่ได้สร้างตัวแปล $tblname เพื่อเก็บชื่อตารางที่่ต้องการใช้งานไว้ข้างต้น ก็ให้ใส่ชื่อตารางนั้นๆเเทนได้เลย)

$data = mysql_query($query); ==> เมื่อเรากำหนดการ Query แล้วเราก็จำเป็นต้องสั่งให้ดำเนินการด้วยฟังก์ชัน mysql_query ซึ่งจำเป็นต้องส่งค่า ($query) ผ่านทางพารามิเตอร์
M013
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 829
ลงทะเบียนเมื่อ: 22/04/2010 12:02 pm

Re: การเขียน PHP ติดต่อกับฐานข้อมูล MySQL และตัวอย่างการใช้งาน

โพสต์ที่ยังไม่ได้อ่าน โดย M013 »

ตัวอย่างการใช้งาน
เมื่อเรามี Code การเชื่อมต่อข้อมูลและรู้การทำงานของมันเเล้ว เราลองมาดูวิธีการใช้งานกันบ้าง
ซึ่งจะขอยกตัวอย่างอยู่ 2 วิธี คือ
1.การแทรกในหน้าที่เราเขียน

โค้ด: เลือกทั้งหมด

<?php
       $host = "localhost";
       $user ="root";
       $password = "";
       $dbname = "test"; //ชื่อฐานข้อมูล
       $tblname = "table_test"; //ชื่อตาราง

       $obj_con = mysql_connect($host,$user,$password) or die(mysql_error());
       mysql_select_db($dbname) or die(mysql_error());

       $sql = "insert into $tblname (Test_1, Test_2, Test_3, Test_4) values ('".$_POST['Test_1']."', '".$_POST['Test_2']."',
       '".$_POST['Test_3']."','".$_POST['Test_4']."')"; 
       $dbquery = mysql_query($sql);
       mysql_close(); //ปิดการติดต่อฐานข้อมูล       
       echo "<Font Size=4><B>เพิ่มข้อมูลลงฐานข้อมูลเรียบร้อยแล้ว</B>";
?>
**การใช้วิธีนี้เหมาะกับการเขียนที่ไม่ซับซ้อน เข้าใจง่าย เเต่หากงานที่มีความซับซ้อนมากขึ้นวิธีนี้จะทำให้เสียเวลามาก เช่น หากเราต้องเขียนหน้าที่ต้องการค้นหาข้อมูล แก้ไขข้อมูล และลบข้อมูล เราก็จะต้องเขียนการเชื่อมต่อฐานข้อมูลซ้ำๆแบบนี้ถึง 4 ครั้ง

2.การเรียกใช้ (บันทึกไฟล์เป็น connect.php)

โค้ด: เลือกทั้งหมด

<?php 
       $host ="localhost"
       $user ="root";
       $password ="";
       $dbname = "test";
       $obj_con = mysql_connect ($host,$user,$password ) or die(mysql_error());
?>
ตัวอย่างการเรียกใช้การเชื่อมต่อข้อมูลจากไฟล์ connect.php

โค้ด: เลือกทั้งหมด

<?php
       require_once("connect.php") //เรียกใช้การเชื่อมต่อข้อมูลจากไฟล์ connect.php

       mysql_select_db($dbname) or die(mysql_error());
       $sql = "insert into $tblname (Test_1, Test_2, Test_3, Test_4) values ('".$_POST['Test_1']."', '".$_POST['Test_2']."',
       '".$_POST['Test_3']."','".$_POST['Test_4']."')"; 
       $dbquery = mysql_query($sql);
       mysql_close();     
       echo "<Font Size=4><B>เพิ่มข้อมูลลงฐานข้อมูลเรียบร้อยแล้ว</B>";
?>
**วิธีนี้เป็นวิธีที่นิยมใช้กันโดยทั่วไปเพราะไม่ต้องทำการ Connect ซ้ำๆหลายครั้ง เเละหากเกิดการผิดพลาดก็ไม่ต้องตามแก้หลายๆไฟล์
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 75