บทที่ 4 พื้นฐาน PHP + MySQL

พื้นฐาน PHP + MySQL

Web programming : PHP กับ MySQL  บทนี้กล่าวถึงขั้นตอนการทำงานเมื่อใช้ PHP ติดต่อกับ MySQL

การเรียกใช้ฐานข้อมูลผ่านเว็บ
ก่อนการเรียกใช้ฐานข้อมูลผ่านเว็บจะต้องมีการเรียกใช้ฟังก์ชัน mysql_connect เพื่อกำหนดฐานข้อมูลที่จะเชื่อมต่อเสียก่อน ได้แก่

mysql_connect เป็นฟังก์ชันที่ใช้ในการติดต่อกับระบบฐานข้อมูลของ MySQL

                     mysql_connect(hostname, username, password) ;

                         hostname คือ เครื่องที่ติดตั้งระบบฐานข้อมูลของ MySQL
                              username คือ ซื่อของผู้ใช้ที่มีสิทธิ์เข้าใช้ระบบฐานข้อมูลของ MySQL
                                        password คือ รหัสผ่านของ username

mysql_select_db  เป็นฟังก์ชันที่ใช้ในการเลือกฐานข้อมูล

                    mysql_select_db(string databasename);

mysql_query เป็นฟังก์ชันที่ใช้ส่งคำสั่ง(SELECT, INSERT, DELETE) ทำงานที่ระบบฐานข้อมูล MySQL

                    mysql_query   ทำงานจะเหมือนกับ function mysql_db_query() 

                    แต่ mysql_db_query() สามารถกำหนดฐานข้อมูลที่ต้องการจะติดต่อได้

mysql_fetch_array ใช้อ่านค่าข้อมูลจากการใช้คำสั่ง SELECT ของฟังก์ชันให้อยู่ในรูปตัวแปรอาร์เรย์

mysql_result()  เป็นฟังก์ชั่นที่ใช้เรียกดูข้อมูลโดยสามารถกำหนดว่าจะดูจากเรคอร์ดใด

mysql_close  เป็นฟังก์ชันที่ใช้ยกเลิกการติดต่อกับระบบฐานข้อมูล

Databasename คือ ชื่อของฐานข้อมูล 

*** เอกสารประกอบการสอน ส่วนที่ 1***

*** เอกสารประกอบการสอน ส่วนที่ 2***

คำสั่งตัวอย่าง

การค้นหาข้อมูล SELECT * FROM table_name WHERE field_search LIKE '$search'

                    เมื่อ field_search = ฟิลด์ที่ต้องการค้นหา และ $search = คำที่ต้องการค้นหา

การอัพเดตข้อมูล update table_name set field_name1='$data1', field_name2='$data2'

การลบข้อมูล delete from table_name where field_name='$variable'

การเพิ่มข้อมูล insert into table_name (field_name1, field_name2) values ('$data1','$data2')

การเรียงลำดับข้อมูล select * from table_name order by field_name desc

                             desc เป็นการเรียงลำดับจากมากไปหาน้อย

                              asc เป็นการเรียงลำดับจากน้อยไปหามาก


ตัวอย่างการทำระบบล๊อกอินอย่างง่าย ด้วย PHP Login with Mysql Data Base

ระบบเก็บแค่ User_id, User_Name, User_Password เท่านั้น ผู้ใช้กรอก หรือ ระบุ ข้อมูล User_Name และ User_Password แล้วกดปุ่ม Log - in ระบบทำการตรวจเช็คว่า User_Name และ User_Password ที่ผู้ใช้กรอกนั้น ถูกต้องหรือเปล่า หากถูกต้องก็ส่งผู้ใช้ไปยังหน้าที่เราต้องการ แต่ถ้าหากไม่ถูกต้องก็แจ้งให้ผู้ใช้ทราบด้วย Javascript

โค้ดก็ตามนี้ครับ

อันนี้ดาต้าเบส -- ?MySQL ฐานข้อมูล: `code-father-test`

-- โครงสร้างตาราง `user`--

CREATE TABLE `user` (
  `user_id` varchar(10) NOT NULL,
  `user_name` varchar(50) NOT NULL,
  `user_password` varchar(50) NOT NULL,
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

---- dump ตาราง `user`--

INSERT INTO `user` VALUES ('00001', 'Admin', '123456');
INSERT INTO `user` VALUES ('00002', 'User1', '111111');
INSERT INTO `user` VALUES ('00003', 'User2', '222222');
INSERT INTO `user` VALUES ('00004', 'User3', '333333');

วิธีติดตั้งก็ให้สร้างดาต้าเบสชื่อ code-father-test (หรือชื่ออะไรก็ได้นะครับ)

แล้วก็ก๊อปโค้ดด้านบน (สีเขียว) ไปวางใน SQL จากนั้นก็สร้างได้เลยครับ

ติดตั้งเสร็จก็จะได้ตาราง user และมีข้อมูลเพื่อทดสอบระบบตามรูปด้านบนนี้ครับ

 

โค้ด PHP ระบบล๊อกอิน Login

<?
header("Content-type: text/html; charset=utf-8");

// เชื่อมต่อดาต้าเบส ********************
$host = "127.0.0.1";
$sys_user ="root";
$sys_password = "123456";
$database = "code-father-test";
$link = mysql_connect($host,$sys_user,$sys_password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
// เชื่อมต่อดาต้าเบส ********************
   
if($submit=="Login" ){
   $sql="Select * from user Where user_name='".$user_name."' and user_password='".$user_password."' ";
  
   $rstTemp=mysql_query($sql);
     if(mysql_num_rows($rstTemp)==0){
?>
       <script language="JavaScript">
        alert("รหัสไม่ถูกต้อง หรือ ยังไม่มีอยู่ในระบบ \r\n\r\nกรุณาลองใหม่อีกครั้ง หรือติดต่อเจ้าหน้าที่ \r\n\r\nเพื่อดำเนินการต่อไป ......  ^_^\r\n\r\n ");
        window.location.href = "index.php";
       </script>
<?    
     }else{
?>
       <script language="JavaScript">
        alert("สวัสดีครับ คุณ <?=$user_name?> ยินดีต้อนรับเข้าสู่ระบบครับ");
        window.location.href = "member.php"; //ส่ง user ไำปยังหน้าที่เราต้องการ
       </script>
<?
     }
}
?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ระบบล๊อกอิน</title>

<form name="Myform" method="post"  action="index.php?submit=Login">
   User Name : <input name="user_name" type="text" size="15" maxlength="15">
   <br><br>
   Password  : <input name="user_password" type="password" size="15" maxlength="15">
   <br><br>
   <input type="submit" name="OK" value="   LOG - IN    "  >
   <input type="reset" name="OK2" value="    CLEAR     "  >
</form>

และนี่คือหน้าตาของระบบครับ

ถ้า User Name และ Password ถูกก็แจ้งให้ผู้ใช้ทราบ

******************************************

อันนี้ล๊อกอินแบบไม่ถูกต้อง ระบบก็แจ้งประมาณนี้เลยครับ

*********************************************

เกร็ดเล็ก เกร็ดน้อย จากการทำระบบ

   ภาษาของ javascript กลายเป็นภาษาต่างดาว อ่านไม่รู้เรื่องเลย เพราะในไฟล์ php ก็ใส่ utf-8 ไว้แล้วข้างล่างโค้ด php ที่เอาไว้ตรวจสอบ ลองย้ายขึ้นไปไว้บนโค้ด php ก็ไม่ได้เหมือนเดิม ก็เลยต้องเอาโค้ด

header("Content-type: text/html; charset=utf-8");

ไปไว้ด้านบนแทน ซึ่งก็ไม่รู้ว่าเป็นเพราะอะไร บางทีก็ได้ บางที ก็ไม่ได้ซะงั้น แต่ปัญหามีเอาไว้แก้ ทำยังไงก็ได้ ให้ออกมาเหมือนที่เราต้องการ ก็พอแล้ว อันนี้ก็ขอหมายเหตุไว้ เพื่อใครที่กำลังเจอเหมือนกัน จะได้เอาไปลองดู