Archive for July, 2010

[PHP] PDO For MySQL #1

ปกติสมัยที่ทำเว็บเล่นๆทำไปเรื่อย การติดต่อฐานข้อมูลก็ใช้ Library ของ mysql โดยตรง แต่หลังๆ ความขี้เกียจในการเปลี่ยนแปลง Code ในส่วนของ DAO (Data Access Object) ก็เข้าครอบงำทำให้ต้องหาเครื่องมือ หรือ Lib มาช่วย งานซึ่งก็ได้พบเจอกับ PDO อ่านผ่านๆ และทดลองตามขั้นตอนดังนี้
1. เปิด PDO Library เปิด php.ini แล้วเปิด comment

extension=php_pdo.dll
extension=php_pdo_mysql.dll

2. Restart Apache
3. เขียน Code ทดสอบดังนี้

//Create connection
$conn = new PDO('mysql:host=localhost;dbname=xx', 'user', 'password');
//Query
$datas = $conn->query("SELECT * FROM TB_NAME");
foreach($datas as $row) {
	echo $row['ID']." : ".$row['NAME']."<br/>";
}
//Close connection
$conn = null;

หลังจากทดลองง่ายๆ ได้สองสามนาที คาดหวังว่ามันจะ workสำหรับงานชิ้นต่อไป
ป.ล คาดหวังอีกครั้งว่าใน hosting ทั้งหลายควรเปิดใช้ PDO ด้วยนะครับ

[java]เขียนภาษาไทยลง Text File

สืบเนื่องจากหัวข้อก่อนหน้านี้ [อ่านข้อมูลภาษาไทยจาก Text File] พอจะเขียนข้อมูลลง Text file ก็ไม่ถูกต้องอีก ประยุกต์ข้อมูลในการ Encode จากตัวอย่างก่อนหน้านี้ เขียนเป็น

/**
 * File Name : WriteUTF8Data.java
 * Created Date : Jul 27, 2010 : 13:11:19 PM
 */
package com.fun4station.example;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

public class WriteUTF8Data {
	private static final String FILE_ENCODE = "UTF-8";
	
	public static void main(String[] args) {
		String file = "D:/data/thai.txt";
		String data = "";
		try {
			Writer out = new BufferedWriter(
					new OutputStreamWriter(new FileOutputStream(file), FILE_ENCODE));
			out.write(data);
			out.close();
			out = null;
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

แล้วก้แก้ปัญหาได้อีกครั้ง จบงานไปอีกหนึ่ง

[java] อ่านข้อมูลภาษาไทยจาก Text File

มีปัญหาในการอ่านข้อมูลภาษาไทยจาก Text file อ่านมาแล้ว เป็น “??” จากการขอความช่วยเหลือ อ.google ได้ตัวอย่างมาดังนี้

/**
 * File Name : ReadUTF8Data.java
 * Created Date : Jul 27, 2010 : 09:37:17 AM
 */
package com.fun4station.example;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadUTF8Data {
	private static final String FILE_ENCODE = "UTF-8";
	
	public static void main(String[] args) {
		String data = null;
		BufferedReader dataIns = null;
		String file = "";
		try {
			dataIns = new BufferedReader(new InputStreamReader(
					new FileInputStream(file), FILE_ENCODE));
			
			while ((data = dataIns.readLine()) != null) {
				System.out.println("Line 1 :" + data);
			}
			dataIns.close();
			dataIns = null;
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

ซึ่งสามารถใช้ได้ดี ไม่มีปัญหา