o Open Source
o ใช้ได้ฟรี
o PHP เป็นโปรแกรมทำงาน ดังนั้นขีดความสามารถไม่จำกัด
o ทำงานบนปฎิบัติการ UNIX,Linux,Windows ได้
o เรียนรู้ง่าย เนื่องจาก PHP ฝังเข้าไปใน HTML และใช้ดครงสร้างและไวยากรณ์ภาษาง่ายๆ
o เร็วและมีประสิทธิภาพ โดยเฉพาะเมื่อใช้กับ Apache Server เพราะไม่ต้องใช้โปรแกรมจากภายนอก
o ใช้ร่วมกับ XML ได้ทันที
o ใช้ร่วมกับฐานข้อมูลเกือบทุกยี่ห้อ
o ใช้กับระบบแฟ้มข้อมูลได้
o ใช้กับข้อมูลตัวอักษรได้อย่างมีประสิทธิภาพ
o ใช้กับโครงสร้างข้อมูลสเกลาร์ (Scalar),อาร์เรย์(Array),แอสโซซิเอทีฟอาร์เรย์(Associative array)
o ใช้กับการประมวลผลภาพได้
การแทรกคำสั่งภาษา PHP ในเอกสาร HTML
เพื่อเป็นการบ่งบอกให้รู้ว่า ส่วนใดเป็นคำสั่ง ภาษา PHP ที่อยู่ภายในเอกสาร HTML จึงได้มีการกำหนดรูปแบบ สัญลักษณ์ไว้ดังนี้
TAG | รูปแบบ |
<?php…..คำสั่งภาษา PHP….?> | (XML Style) |
<?......คำสั่งภาษา PHP….?> | (SGML style) |
<script language =”คำสั่งภาษา PHP”>………. <script> | (JavaScript Style) |
<%.....คำสั่งภาษา PHP…..%> | (ASP Style) |
ตัวอย่างที่ 1.1 การเขียนโปแกรมเพื่อแสดงข้อความ “สวัสดีทุกคน”
<?
echo "สวัสดีทุกคน"
?>
1.4 ตัวแปร(Variable)
ภาษา PHP ก็เหมือนกับภาษาโปรแกรมโดยทั่วไปที่จะต้องมีตัวแปรเพื่อใช้เก็บค่า (Value) การกำหนดชื่อของตัวแปรใน PHP จะใช้สัญลักษณ์ $ นำหน้าชื่อตัวแปร
หลักเกณฑ์ในการตั้งชื่อตัวแปร
1.4.1 ชื่อของตัวแปรต้องขึ้นต้นด้วยเครื่องหมาย $(Dollar Sign) และตามด้วยตัวอักษรตัวถัดไปจะเป็นตัวเลขหรือตัวอักษรและเครื่องหมาย _ ปนกันก็ได้ แต่ตัวแรกต้องไม่ใช่ตัวเลขหรือสัญลักษณ์พิเศษต่างๆ เช่น $total_2549
1.4.2 การตั้งชื่อตัวแปรต้องให้สื่อความหมายกับข้อมูลที่เก็บ เช่น $name , $lastname, $salary
1.4.3 ตัวอักษรที่ใช้ในการตั้งชื่อตัวแปร ตัวอักษรตัวเล็ก ตัวอักษรตัวใหญ่ ถือว่าเป็นคนละตัวแปรกัน เช่น $name, $Name, $NAME
1.5.4 ไม่ควรตั้งชื่อซ้ำกับฟังก์ชันมาตรฐาน (built-in function) เพราะ PHP จะไม่สนใจชื่อที่ตังใหม่แต่จะทำงานตาฟังก์ชันมาตรฐาน
1.5 ชนิดข้อมูล
Integer สำหรับจัดเก็บข้อมูลที่เป็นตัวเลขจำนวนเต็ม เช่น 1000, -1000
Float สำหรับจัดเก็บข้อมูลที่เป็นทศนิยม เช่น 123.231
Boolean เป็นข้อมูลที่มี 2 ค่า คือ จริง(True) กับ เท็จ(False)
Strings สำหรับจัดเก็บข้อมูลที่เป็นข้อความเช่น "nextstepdev", "Thailand"
Arrays สำหรับจัดเก็บข้อมูลที่เป็นข้อมูลที่เป็นชุด
Float สำหรับจัดเก็บข้อมูลที่เป็นทศนิยม เช่น 123.231
Boolean เป็นข้อมูลที่มี 2 ค่า คือ จริง(True) กับ เท็จ(False)
Strings สำหรับจัดเก็บข้อมูลที่เป็นข้อความเช่น "nextstepdev", "Thailand"
Arrays สำหรับจัดเก็บข้อมูลที่เป็นข้อมูลที่เป็นชุด
1.6 การแปลงชนิดตัวแปร สามารถทำได้ 2 วิธี คือ
1.6.1 การแปลงชนิดข้อมูลด้วยวิธีการ Cast เป็นการระบุชนิดข้อมูลที่ต้องการไว้หน้า ตัวแปรที่ต้องการแปลงข้อมูล ดังรายละเอียดต่อไปนี้
(int),(integer) ใช้แปลงเป็นตัวข้อมูลจำนวนเต็ม
(double), (float),(real) ใช้แปลงเป็นข้อมูลเลขทศนิยม
(string) ใช้แปลงข้อมูลเป็นสตริง
(array) ใช้แปลงข้อมูลเป็นอาร์เรย์
ตัวอย่างที่ 1.2 การเขียนโปรแกรมกำหนดค่าให้กับตัวแปร
$y=((double)"100.2")+0.3+3;
echo $y."<br>";
echo($y=(int)$y)."<br>";
1.6.2 การแปลงชนิดข้อมูลด้วยฟังก์ชัน settype() มีรูปแบบดังนี้
Settype(ตัวแปร,ชนิดขอมูล)
ตัวอย่างที่ 1.3 การเขียนโปรแกรมแปลงชนิดข้อมูลด้วยฟังก์ชัน settype()
$name="20.99";
settype($name,int);
echo gettype($name);
การเขียนโปรแกรมติดต่อฐานข้อมูล mysql
การเชื่อมต่อกับฐานข้อมูล
การเชื่อมต่อกับฐานข้อมูล โดยใช้ภาษา php จะใช้ฟังชัน mysql_connect()
1. ฟังก์ชัน mysql_connect()
รูปแบบ
mysql_connect(servername,username,password);
ตัวอย่าง
<?php
$con = mysql_connect("localhost","","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
$con = mysql_connect("localhost","","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
การเรียกใช้ฐานข้อมูล
1. ฟังก์ชัน mysql_select_db();
รูปแบบ
mysql_select_db($dbname);
ส่วนใหญ่ฟังก์ชัน mysql_select_db(); มักจะใช้กับคำสั่ง or เพื่อให้แสดงผลในกรณีที่ไม่สามารถเชื่อมฐานข้อมูลได้มีรูปแบบดังนี้
mysql_select_db($dbname) or die (“เลือกฐานข้อมูลไม่ได้”);
workshop: จงเขียนโปรแกรมเพื่อติดต่อฐานข้อมูล
การนำคำสั่ง sql มาใช้ในฐานข้อมูล mysql
1. ฟังก์ชัน mysql_query()
เป็นฟังก์ชันสำหรับสั่งงานฐานข้อมูล mysql ด้วยคำสั่ง sql เพื่อจัดการกับข้อมูลในฐานข้อมูล เช่น การเพิ่ม ลบ แก้ไข เป็นต้น ซึ่งจะต้องใช้ร่วมกับ ฟังก์ชัน mysql_select_db()
รูปแบบ
mysql_guery($sql);
2. ฟังก์ชัน mysql_db_query()
เป็นฟังก์ชันสำหรับสั่งงานฐานข้อมูล mysql ด้วยคำสั่ง sql เพื่อจัดการกับข้อมูลในฐานข้อมูลเหมือนฟังก์ชัน mysql_query แต่ไม่ต้องใช้ร่วมกับฟังก์ชัน mysql_select_db()
รูปแบบ
mysql_db_query($dbname,$sql);
การยกเลิกการเชื่อมต่อฐานข้อมูล
รูปแบบ
Mysql_close(ชื่อฐานข้อมูล);
การเพิ่มข้อมูลในฐานข้อมูล
รูปแบบ
INSERT INTO table_name VALUES (value1, value2, value3,...)
หรือ
INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)
ตัวอย่าง
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>
การเรียกดูข้อมูล
รูปแบบ
SELECT column_name (s) FROM table_name
ตัวอย่าง
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>
Workshop:
1.สร้างฐานข้อมูลเพื่อบันทึกข้อมูลสมาชิก โดยให้รับค่าจากฟอร์มและค่าทุกค่าที่รับเข้าไปห้ามเป็นค่าว่าง
2.เขียนโปรแกรมแสดงข้อมูลของสมาชิกทั้งหมดที่มีในฐานข้อมูล
การดึงข้อมูลแบบมีเงื่อนไข
รูปแบบ
SELECT column_name (s) FROM table_name WHERE column_name operator value
ตัวอย่าง
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons
WHERE FirstName='Peter'");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
?>
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons
WHERE FirstName='Peter'");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
?>
การแก้ไขข้อมูลในตาราง
รูปแบบ
UPDATE table_name SET column1=value, column2=value2,...WHERE some_column=some_value
ตัวอย่าง
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE Persons SET Age = '36'
WHERE FirstName = 'Peter' AND LastName = 'Griffin'");
mysql_close($con);
?>
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE Persons SET Age = '36'
WHERE FirstName = 'Peter' AND LastName = 'Griffin'");
mysql_close($con);
?>
การลบข้อมูลในตาราง
รูปแบบ
DELETE FROM table_name WHERE some_column = some_value
ตัวอย่าง