วันอังคารที่ 10 มกราคม พ.ศ. 2555

[CakePHP] การสร้างฐานข้อมูล (Database) MySQL และการเชื่อมต่อกับฐานข้อมูล

          หลังจากที่เคยเกริ่นนำไปแล้วในบทความที่แล้วว่าCakePHP คืออะไร และจะสอนทำระบบสมัครสมาชิก ด้วยCakePHP เพื่อให้ได้เห็นการใช้งานCakePHP ได้เข้าใจยิ่งขึ้น แต่ต้องรอบทความต่อไปนะครับ ^__^''ที่จะสอนจริงๆ บทความนี้ผมจะสอนสร้างฐานข้อมูลและการเชื่อมต่อฐานข้อมูลก่อน เพราะรายละเอียดยิบย่อยมันเยอะ ผมจึงขอแยกออกทีละบทความครับ หวังว่าคุณจะได้ติดตั้งCakePHPเสร็จแล้วและสมบูรณ์ และมีความรู้พื้นฐานด้านการเขียนโปรแกรมแบบ OOP (Object-oriented programming) หรือ เขียนโปรแกรมเชิงวัตถุอยู่บ้างนะครับ เพราะเราจะเอามาใช้กับCakePHPครับ
อันดับแรกให้สร้างฐานข้อมูลดังรูป


 กฎของการสร้างฐานข้อมูลของCakePHP คือ การตั้งชื่อเทเบิลต้องเป็นแบบพหูพจน์ (เติม S) ในที่นี้คือ users และต้องมีฟิลด์ id เป็น Primary Key เสมอครับ ให้Copyคำสั่ง sql ข้างล่างนี้ไปติดตั้งที่เครื่องของคุณได้เลย

-- สร้างฐานข้อมูล: `db_cakephp`
CREATE DATABASE `db_cakephp`;

--สร้างเทเบิล users
CREATE TABLE `users` (
  `id` int(6) NOT NULL auto_increment,
  `username` varchar(20) default NULL,
  `password` varchar(20) default NULL,
  `name` varchar(80) default NULL,
  `address` text,
  `tel` varchar(30) default NULL,
  `email` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

หลังจากได้สร้างฐานข้อมูล MySQL (Dababase) เสร็จแล้ว ต่อมาเราจะเซตค่าเชื่อมต่อกับฐานข้อมูลใน CakePHP กันครับ
+++ อันดับแรก ให้เปลี่ยนชื่อไฟล์ app/Config/database.php.default เป็น database.php
+++ จากนั้นให้แก้ไขCode ในไฟล์ database.php ดังนี้

class DATABASE_CONFIG {
 public $default = array(
  'datasource' => 'Database/Mysql',
  'persistent' => false,
  'host' => 'localhost',
  'login' => 'root',//ชื่อ username ฐานข้อมูลของคุณ
  'password' => 'root',//ชื่อ password ฐานข้อมูลของคุณ
  'database' => 'db_cakephp',//ชื่อ dababase ของคุณ
  'prefix'      => '',
  'encoding' => 'utf8'//เข้ารหัสข้อมูลแบบ UTF8 สามารถรองรับการแสดงผลได้ทุกภาษารวมถึงภาษาไทย
 );
}

ศึกษาเพิ่มเติมได้จากเว็บนี้เลย ->http://www.cakephp.in.th/index.php?topic=32.0
เป็นเว็บที่สอนได้ดีมาก เลยไม่ต้องไปอ่านในเว็บของฝรั่งเลยครับ
ป.ล. CakePHP ที่ผมใช้สอนในบล็อกนี้ทั้งหมดเป็น CakePHP เวอร์ชั่น 2.0.5 นะครับ และเป็นเวอร์ชั่นล่าสุดในตอนนี้

2 ความคิดเห็น :

  1. ไม่ระบุชื่อ28 มิถุนายน 2556 15:10

    Warning (512): SQL Error: ORA-00900: invalid SQL statement [CORE/cake/libs/model/datasources/dbo_source.php, line 684]

    ติดตรงนี้แก้ไขได้ยังไงอ่ะ

    ตอบลบ
    คำตอบ
    1. ลองเช็ครหัสผ่านของฐานข้อมูลและชื่อฐานข้อมูลดูครับ

      'login' => 'ชื่อ username ฐานข้อมูลของคุณ ',
      'password' => 'ชื่อ password ฐานข้อมูลของคุณ ',
      'database' => 'ชื่อ dababase ของคุณ ',

      ลบ