mysql

Tip เล็กน้อยกับการตั้งชื่อ DB Name ใน MySQL ด้วย "_" หรือ "-"

หากจะคั่นชื่อของ Database name ใน MySQL ด้วย under scroll (ขีดล่าง "_") หรือ dash (ขีดกลาง "-") ลองพิจารณาเล็กน้อยว่า

"my-db-name" ชื่อ directory ของ file system 
จะเป็น "/var/lib/mysql/my@002ddb@002dname" (ดูยาก)

"my_db_name" ชื่อ directory ของ file system 
จะเป็น "/var/lib/mysql/my_db_name" (ดูง่าย)

ดังนั้นเพื่อให้ดูง่าย ควรใช้ under scroll จะดีกว่า dash เพื่อคั่นระหว่างคำ ในชือของ database 

Tags:

การสั่ง LOCK/UNLOCK TABLES ใน MySQL

ปกติแล้วหากใช้ Storage Engine เป็น MyISAM ตารางของ MySQL จะถูก lock เมื่อมีการ write ข้อมูล (INSERT/UPDATE/DELETE) และจะไม่ lock สำหรับการ Query (SELECT)

แต่ในบางกรณีเราอาจจะจำเป็นต้อง lock ตาราง ก่อนทำการ Query ก็ได้ ยกตัวอย่างให้เห็นภาพ เช่น ระบบการจัดการ serial หรือ key หรือ PIN code ที่มีลักษณะ serial 1 ตัวใช้สำหรับ user 1 คน และห้ามซ้ำกัน ซึ่งมีขั้นตอนการทำงาน เช่น 

Tags:

SET NAMES 'UTF8'

mysql_query("SET NAMES 'UTF8'"); // สำหรับ Unicode หรือ UTF-8
// หรือ
mysql_query("SET NAMES 'TIS620'"); // สำหรับภาษาไทย หรือ TIS-620

เพื่อเซตว่าเราจะต่อ และใช้งาน (รับ-ส่ง ข้อมูล) mysql ด้วย characters set ไหน ซึ่งจำเป็นหากข้อมูลเราไม่ใช่ภาษาอังกฤษล้วน (pure ASCII) และถ้าไม่ได้ตั้งค่า client connection เป็น UTF-8 encoding ไว้

การป้องกัน SQL Injection ใน PHP

SQL Injection ใน PHP หรือ การปนคำสั่ง SQL ซ้อนเข้าไปในข้อมูลของตัวแปร ที่รับข้อมูลจาก Input ภายนอก เช่น จากกรอก FORM ตัวอย่างเช่น

Subscribe to RSS - mysql