บทความ PHP & MySQL

เหตุผลที่ผมทำบทความนี้ขึ้นก็ก็เพราะมีกระทู้ถามเกี่ยวกับภาษาไทย ?????? ทุกวันครับ และเป็นปัญหาที่แก้ไม่จบซะทีสำหรับผู้ที่ กำลังเริ่มเขียน MySQL 4.1.x และ 5.0.x ขึ้นไป เพราะในเวอร์ชั่นใหม่นี้ ทาง MySQL ได้ให้ความสำคัญกับ Charset มากขึ้นกว่าเวอร์ชั่น เดิม ๆ ก่อนหน้านี้ที่เรา ๆ ใช้ latin1 ในการเก็บข้อมูลที่เป็นภาษาไทยซึ่งจะมีปัญหาค่อนข้างบ่อยเกี่ยวกับการแสดงผลที่ผิดเพี้ยน การจัดเรียงที่ไม่ถูกต้อง และความจำกัดทางด้านรองรับหลาย ๆ ภาษา ทั้งนี้ผมคิดว่าการนำ Chatset มาใช้ ทาง mySQL เองต้องการแก้ปัญหาที่เกี่ยวข้องกับภาษากับการใช้งาน Application อื่น ๆ ที่รองรับรูปแบบ UTF-8 ไปหมดแล้ว คงจะเหลือแต่คนไทยส่วนมากที่ยังคงยึดตึดกับ TIS-620 ถึงคราวที่เราจะต้องเปลี่ยนมาใช้ UTF-8 กันได้แล้วครับ และผมกล้ารับประกันเลยครับว่า มันดีกว่าเดิม จะช่วยลดปัญหาต่าง ๆ ที่เกี่ยวกับภาษาไทยได้อย่างหมดเกลี้ยง ครับ

Read More

ย่างที่เราทราบกันอยู่แล้วว่าตั้งแต่ MySQL เวอร์ชั่น 4.x หรือ 5.x ขึ้นไปจะให้ความสำคัญกับ Collation ของ Charset มาก โดยตัวCollation นี่เองจะเป็นระบุชนิดของข้อมูล Charset ที่จะจัดเก็บ ซึ่งเป็นกระบวนการบน Database ของ MySQL ที่จะจัดการกับข้อมูลนั้น ๆ และสำหรับ Collation ที่ได้รับความนิยมมากที่สุดก็คือ utf8 เพราะมันสามารถรองรับการจัดเก็บได้หลากหลายภาษา ไม่จำกัดเฉพาะภาษาไทยเท่านั้น โดยข้อมูลจะถูกจัดเก็บในรูปแบบของ Character encoding คือ ทุก Character จะผ่านการแปลงก่อนการจัดเก็บ และ ค่อยแปลงกลับก่อนนำมาใช้ ฉะนั้นมันจะสามารถปัญหาเรื่องภาษาไทยและภาาาอื่น ๆ ได้อย่างแม่นยำไม่ผิดเพี้ยนแน่นอน

การสร้างตารางของ MySQL ให้ Colation เป็นแบบ UTF-8

Read More

Android Read Text file in SD Card (Java Android) ตัวอย่างการเขียน Android เพื่ออ่านข้อความที่อยู่ใน Text file(Read text file) โดยในตัวอย่างนี้มีทั้งอ่านข้อความที่มีบรรทัดเดียว และกรณีที่มีหลายบรรทัดจะแสดงข้อความใน ListView

รูปแบบการอ่านข้อความที่อยู่ในไฟล์

1.String path = "/mnt/sdcard/mydata/thaicreate.txt";
2.File file = new File(path);
3.BufferedReader br = new BufferedReader(new FileReader(file));
4.ArrayList<String> myArr = new ArrayList<String>();
5.String line;
6.while ((line = br.readLine()) != null) {
7.myArr.add(line);
8.}

Read More

สวัสดีครับ บทความนี้ผมมาอธิบายต่อจากบทความในกลุ่มการจัดการฐานข้อมูลบน Mysql (หลังจากบทความที่แล้ว Update) ซึ้งผมแบ่งเนื้อหามาอธิบายทีละเล็กน้อยเนื้อหาจะได้ไม่เยอะจนเกินไป ในส่วนนี้คือการลบข้อมูล(Delete) ในฐานข้อมูล Mysql ดูบทความที่เกี่ยวข้องก่อนหน้าซักหน่อยครับ

–  เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์

–  (Insert) การเพิ่มข้อมูลบน Mysql

–  (Update) การแก้ไขข้อมูลบน Mysql

!! ควรย้อนไปอ่านบทความ “เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์” ก่อนนะครับ

Read More

สวัสดีครับหายไปนาน บทความนี้ผมมาอธิบายต่อจากบทความในกลุ่มการจัดการฐานข้อมูลบน Mysql (หลังจากบทความที่แล้ว Insert) ซึ้งผมแบ่งเนื้อหามาอธิบายทีละเล็กน้อยเนื้อหาจะได้ไม่เยอะจนเกินไป ในส่วนนี้คือการแก้ไขข้อมูล(Update) ในฐานข้อมูล Mysql ดูบทความที่เกี่ยวข้องก่อนหน้าซักหน่อยครับ

–  เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์

–  (Insert) การเพิ่มข้อมูลบน Mysql

!! ควรย้อนไปอ่านบทความ “เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์” ก่อนนะครับ

Read More

สวัสดีครับ บทความนี้ผมจะมาอธิบายตัวอย่างซึ้งเป็นที่นิยม (จริงๆก็มีบทความเรื่องนี้อยู่มากแล้วหละ) และ บ่อยครั้งเราต้องนำไปใช้งาน นั้นคือการเชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์ของเราผ่านแอนดรอยด์แอพพลิเคชั่น ก่อนที่เราจะมาดูโค้ดตัวอย่างกันผมจะอธิบายหลักการทำงานคร่าวๆของตัวอย่างให้ผู้อ่านได้เข้าใจก่อนจากหัวข้อข้างล่างครับ

!! บทความนี้เหมาะกับผู้ที่ต้องการเก็บข้อมูลลงบนเซิฟเวอร์ ไม่ใช่บนอุปกรณ์แอนดรอยด์ หรือ การ์ดต่างๆ

!! ควรมีความรู้เรื่องฐานข้อมูล Mysql ก่อนนะครับ

Read More

สวัสดีครับ บทความนี้ผมมาอธิบายต่อจากบทความที่แล้ว (เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์) ซึ้งผมได้แบ่งเนื้อหามาอธิบายทีละเล็กน้อย ในส่วนนี้คือการเพิ่มข้อมูล(Insert) ลงฐานข้อมูล Mysql เอาหละไปดูโค้ดกัน

!! ควรย้อนไปอ่านบทความ “เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์” ก่อนนะครับ

 

โค้ดตัวอย่าง

สามารถดาวน์โหลดโปรเจ็คตัวอย่างได้ที่ -> MysqlExample(Insert)

!! ใช้ฐานข้อมูลชุดเดิมจากบทความ เชื่อมต่อฐานข้อมูล Mysql บนเซิฟเวอร์

Read More

ฟังก์ชั่น mysql_insert_id()

 

ความหมายของฟังก์ชั่นและการใช้งาน

การคืนค่าข้อมูลของฟิลด์ที่เป็นแบบ auto_increment ของแถวใหม่ที่ได้เพิ่มเข้าไปโดยคำสั่ง INSERT ของ SQL ด้วยฟังก์ชั่น mysql_insert_id()

Read More