การติดตั้ง PHP และ Apache HTTP Server

ก่อนอื่นเราต้อง download โปรแกรมทั้ง 2 ตัวนี้จากเว็บไซท์อย่างเป็นทางการ

PHP ปัจจุบันเวอร์ชั่นที่เสถียรคือ 5.2.6 (11 ตุลาคม 2551) download ที่นี่ ถ้าใช้ windows ให้เลือก PHP 5.2.6 zip package

ส่วน Apache เวอร์ชั่นปัจจุบันคือ 2.2.9 download ที่นี่ โดยเลือก Win32 Binary including OpenSSL 0.9.8h (MSI Installer)

รู้จักการใช้ PDO (PHP Data Objects) Part 2

อ้างอิงจาก phpro.org ต้องบอกไว้ก่อน ความจริงแล้วผมทำขึ้นเพื่อเอาไว้อ่านของผมเอง เหมือนสมุดจดสิ่งที่ผมได้รู้แบบออนไลน์ (เท่ห์โคตรเลย)

เอาหล่ะ มาดูเกี่ยวกับการ Query ข้อมูล ด้วย PDO กันบ้าง โดยใช้ฐานข้อมูลที่สร้างเมื่อตอน part1 มาทำต่อกันเลย

Insert

insert คือการใส่ข้อมูลลงในฐานข้อมูล โดย PDO นั้นจะใช้คำสั่ง PDO::exec ในการประมวลผลตาม code ด้านล่าง

<?php
//ชื่อ host
$host = 'localhost';

//ชื่อ login mySQL
$username = 'username';

//password login mySQL
$password = 'password';

try {
    $dbh = new PDO("mysql:host=$host; dbname=animals", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Connected to database';

    /*** INSERT data ***/
    $count = $dbh->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");

    /*** echo the number of affected rows ***/
    echo $count;

    /*** close the database connection ***/
    $dbh = null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

คำสั่ง sql ข้างต้น หมายความว่าให้ใส่ข้อมูลในตาราง animals ใน field ของ animal_type และ animal_name ข้อมูลที่ใส่คือ “kiwi” และ “troy”

output ที่ได้คือ

Connected to database
1

ผลลัพธ์ที่ออกมาอย่างนี้ เพื่อแสดงว่า เราสามารถติดต่อกับ MySQL ได้ และแสดงแถวที่เราได้ทำกับ insert เข้าไป

Select

select คือการเลือกข้อมูลจากฐานข้อมูลเพื่อนำมาใช้ ลองดูจาก code ดังนี้

รู้จักการใช้ PDO (PHP Data Objects) Part 1

PDO คือ extension ของ php ไว้สำหรับติดต่อกับฐานข้อมูลได้หลายชนิด เพียงเราเปิดการใช้งาน driver ต่างๆ ที่ต้องการใช้

วิธีการติดตั้ง เราต้องเปิดการใช้งาน extension นี้ก่อน วิธีการคือ

1. เปิดไฟล์ php.ini และหาบรรทัดดังต่อไปนี้

;extension=php_pdo.dll

เปลี่ยนเป็น

extension=php_pdo.dll (คือลบเครื่องหมาย ";" ออก)

2. ในที่นี้เราต้องการใช้กับฐานข้อมูล MySQL จึงต้องเพิ่ม driver ดังนี้

extension=php_pdo_mysql.dll (เขียนต่อบรรทัดสุดท้ายของ extension ได้เลย)

ตัวอย่างการใช้ต่อไปนี้ ขอยกตัวอย่างจาก www.phpro.org

1. สร้างฐานข้อมูลชื่อ animals โดยทำจาก phpMyAdmin หรือจาก shell ของ mysql เลยก็ได้

 CREATE TABLE animals ( animal_id MEDIUMINT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 animal_type VARCHAR(25) NOT NULL,
 animal_name VARCHAR(25) NOT NULL
 ) ENGINE = MYISAM ;

 INSERT INTO `animals` (`animal_id`, `animal_type`, `animal_name`) VALUES
 (1, 'kookaburra', 'bruce'),
 (2, 'emu', 'bruce'),
 (3, 'goanna', 'bruce'),
 (4, 'dingo', 'bruce'),
 (5, 'kangaroo', 'bruce'),
 (6, 'wallaby', 'bruce'),
 (7, 'wombat', 'bruce'),
 (8, 'koala', 'bruce');

ทดลองสร้างไฟล์ติดต่อฐานข้อมูล MySQL ดังนี้

 <?php
 /*** ชื่อ host ของ mysql  ***/
 $hostname = 'localhost';

 /*** mysql username ***/
 $username = 'username';

 /*** mysql password ***/
 $password = 'password';

 try	{
   $dbh = new PDO("mysql:host=$hostname;dbname=mysql", $username, $password);
   /*** แสดงข้อความเมื่อติดต่อสำเร็จ ***/
   echo 'Connected to database';

   /*** ปิดการติดต่อกับฐานข้อมูล ***/
   $dbh = null;
 }
 catch(PDOException $e)	{
       	echo $e->getMessage();
 }
 ?>

ทดลองรันใน browser ถ้าสำเร็จจะขึ้นว่า “Connected to database” ถ้าไม่ได้ก็จะขึ้นแสดง error

เป็นไงกันบ้างครับครับกับการใช้ PDO เบื้องต้น ถ้าว่างแล้วเดี๋ยวมาเขียนต่อเกี่ยวกับการ insert, update และ delete ซึ่งเป็นฟังก์ชั่นพื้นฐานของการใช้ฐานข้อมูลกันครับ

ทำความรุ้จักกับ XHTML กันเถอะ

ทำมาตั้งนาน ถึงจะรู้จริงๆ ซักทีว่า XHTML เป็นมาตรฐานใหม่ (ไม่ใหม่มาก) ที่พัฒนาต่อจาก html4.0 ซึ่งหลักๆ จากที่ผ่านมา มันอยู่ที่การประกาศ DOCTYPE และรูปแบบ tag ต่างๆ เช่น tag ปิด ตัวอย่าง <br /> <img src = “” width = “100″ height = “100″ /> คือมันมี “tag ปิด” ด้วย

DOCTYPE มีทั้งหมด 3 แบบ คือ Strict, Transitional และ Frameset มาดูตัวอย่างกัน
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xml:lang=”en” lang=”en” xml‎ns=”http://www.w3.org/1999/xhtml”>

แบบที่ 1 แบบ Strict เป็นการประกาศว่าเว็บนี้เขียนโดยอิงกับกฏเกณฑ์อย่างเข้มงวด ถ้าเขียนถูกตามนี้ก็ผ่านการตรวจสอบของ W3C
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xml:lang=”en” lang=”en” xml‎ns=”http://www.w3.org/1999/xhtml”>

แบบที่ 2 คือแบบ Transitional เป็นการประกาศเพื่อบอกว่าเว็บนี้เป็นแบบยืดหยุ่น (คือไม่ตรงกับสเปคนั่นแหละ)

ส่วนแบบที่เหลือก็คงเปลี่ยนจาก Strict เป็น frameset นั่นแหละ แต่ที่เขียนบทความนี้คือ ถ้าคุณเป็นผู้พัฒนาเว็บ คุณควรอ้างอิงตามมาตรฐาน เพื่อรองรับกับอนาคตที่จะมี browser ต่างๆ เกิดขึ้น และมีแนวโน้มที่ browser เหล่านั้นจะทำตามมาตรฐานที่ W3C กำหนดไว้

อยากไปร่วมชุมนุมพันธมิตรเหลือเกิน!!!

วันนี้ ตื่นมาตอนเช้า (ประมาณ 9.30 น.) แม่มาเปิดทีวี ซึ่งแน่นอนอยู่แล้วช่องที่เปิดไว้เมื่อคืนนี้ต้องเป็น ASTV พอทีวีติดขึ้นมาเท่านั้นแหละ รู้สึกคลื่นเหียนอาเจียร เพราะได้ยินเสียงนายกรัฐมนตรีของประเทศไทยกำลังสำรอกออกอากาศทางช่อง NBT
มันบอกว่าตระกูลมันเป็นพระยา และมันก็จงรักภักดี แล้วทำไมตอน “อีเพ็ญ” ออกมาพูดหมิ่นเบื้องสูง ทำไมมึงไม่ทำเหี้ยอะไรเลยวะ แม่งงงง
แล้วยังบอกอีกว่ามันกระทบเศรษฐกิจ ที่พวกพันธมิตรชุมนุม ไอห่าเอ๊ย!!! เห็นทำงานมา 3 เดือนแล้วมีอะไรบ้างลองนึกดู

  1. เพิ่มราคาน้ำตาลทีเดียว 5 บาท
  2. น้ำมันแพงขึ้นเรื่อยๆ ประชาชนได้แต่จนใจ
  3. ราคาข้าวแสนแพง แต่ชาวนาขายได้ถูกลงกว่าเดิม
  4. แก้รัฐธรรมนูญเพื่อให้ไอเหลี่ยมมันพ้นคุก
  5. มท.1 เป็ดเหลิมทำเป็นแต่อนุญาติเปิดบ่อนไก่เพิ่มอีก1 วัน และยังขู่พันธมิตรว่าจะมีระเบิดโยนมากลางวง ดูมันทำ รมต.มหาดไทยประเทศนี้มันทำงานเป็นหรือเปล่า
  6. นายกฯ พูดจาแต่ละอย่างไม่สมกับการที่เป็นนายก มีแต่คำหยาบคาย ไอควายเอ๊ย เป็นนายกได้ไงเนี่ย!!!
แล้วยิ่งมันบอกว่าจะสลายการชุมนุมแน่ มันทำให้มันเดือดปุดๆ ขึ้นมาทันที นึกในใจว่า เป็นนายกชั่ว แล้วแน่นักใช่ไม๊ ได้เจอกันแน่ แต่เพราะอยู่ต่างจังหวัด และมีงานต้องทำหลายอย่าง จึงได้แต่ส่งใจช่วยให้พันธมิตรทุกท่าน และภาวนาว่าพันธมิตร ต้องชนะอย่างแน่นอน

>>>>>ด้วยจิตคารวะ<<<<<

มีหลานคนแรกแล้ว

เมื่อวันที่ 7 พฤษภาคม 2551 เวลาประมาณ 9.50 น. ผมก็กลายเป็นคุณอาในบัดดล!!! โดยหลานที่ได้ เป็นหลานชาย น้ำหนักประมาณ 3.1 กิโลกรัม ตาโต และน่ารักมาก อิอิ โดยมีชื่อว่า “น้องตินติน”

TinTin

     พอไปโรงพยาบาลเพื่อจะไปเยี่ยมหลานซักหน่อย (แต่พยาบาลไม่ให้เยี่ยม) ก็เลยต้องไปหาซื้อของรับขวัญหลานซักหน่อย สิ่งแรกที่นึกถึงคือ เปลเด็กอ่อน จึงเดินดู อีกทั้งจากคำแนะนำของแฟนเลยต้องซื้อทั้งเตียงสำหรับเด็ก และเปล โดยเปลเลือกนานที่สุด เพราะไม่รู้จะเอาแบบมีกรงเหล็กกั้น หรือว่าแบบไม่มีกรงกั้นแต่ห่างกันตั้งพันบาท ดูไปดูมาก็เลยเลือกแบบมีลูกกรงกั้นเพราะดูปลอดภัยกว่า ( หรือถูกกว่ากันแน่ โฮะ โฮะ ) ประกอบกับตอนนั้นกลับบ้านพอดี และหมดกับการเที่ยวสมุยไปซะหลายบาท เลยตัดสินใจเลือกโดยไม่ยากเย็นนัก (ฮา) ถ้าหลานรู้จะโกรธไม๊เนี่ย

กะว่าถ้าหลานโตขึ้นจะพาไปผจญภัยให้เหมือนกับชื่อการ์ตูน Tin Tin ซะเลย (แต่จำได้ว่าการ์ตูนวาดโดยคนฝรั่งเศส เลยน่าจะอ่านว่า แต็ง แต็ง)

การใช้ php เพื่อพัฒนา Web Services

หลังจากที่ลองผิดลองถูกมานานแสนนาน ทั้ง ASP.NET 2005 ทั้ง JAVA โดยใช้ Netbeans 6.1 เพื่อใช้ในการพัฒนา web services ซึ่งตอนแรกก็หวังว่าจะใช้งานง่าย แต่พอเอาเข้าจริงๆ แล้ว ไม่มีอะไรที่จะง่ายที่สุดเท่า PHP ซึ่งเข้าใจง่ายและใช้งานสะดวก
โดยใช้ extension เพิ่มเติม ซึ่งก็คือ Web Services Framework for PHP หรือ WSO2 พระเอกตัวจริงของผม ซึ่งขณะนี่เป็น version 1.3.1 แล้ว
wsf-php-logo-s
ต่อจากนี้ไป ต้องขอเวลาเล่นกับ extension ตัวนี้ซักระยะ เพื่อให้ชำนาญกว่านี้หน่อย แล้วค่อยมาแสดงการพัฒนา web services แบบเป็นขั้นตอนให้ดูกันครับ