วันนี้ ADMIN มาแจก Class Mysql PDO ฟรีครับ เป็นแบบพัฒนาเอง สามารถเอาไปแก้ไขใช้งานต่อได้เลยจ้า
แต่ขอ Credit ให้ด้วยจ้า ^ ^ ถ้ามีอะไรเพิ่มเติมจะ comment หรือ แนะนำได้จ้า
ไฟล mysql.class.php
class DB{
// เชื่อมต่อฐานข้อมูล //
var $host = DB_HOST ;
var $database ;
var $connect_db ;
var $selectdb ;
var $db ;
var $sql ;
var $table ;
var $where;
var $data_query;
// ติดต่อฐานข้อมูล //
function connectdb($host="localhost",$db_name="database",$user="username",$pwd="password"){
$this->host = $host;
$this->database = $db_name;
$this->username = $user;
$this->password = $pwd;
$this->connect_db = new PDO('mysql:host='.$this->host.';dbname='.$this->database.';charset=utf8', $this->username, $this->password);
$this->connect_db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$this->connect_db->exec("set names utf8");
if($this->connect_db) return true;
else return false;
}
// ปิดการทำงาน MYSQL //
function closedb( ){
$this->connect_db =null;
}
// เพิ่มข้อมูล ///
function add_db($table="table", $data="data"){
$key = array_keys($data);
$value = array_values($data);
$sumdata = count($key);
for ($i=0;$i<$sumdata;$i++)
{
if (empty($add)){
$add="(";
}else{
$add=$add.",";
}
if (empty($val)){
$val="(";
}else{
$val=$val.",";
}
$add=$add.$key[$i];
$val=$val."\"".$value[$i]."\"";
}
$add=$add.")";
$val=$val.")";
$sql="INSERT INTO ".$table." ".$add." VALUES ".$val;
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
// echo $sql;
if ($this->data_query){
return true;
}else{
$this->_error();
return false;
}
}
// อัพเดตข้อมูล ///
function update_db($table="table",$data="data",$where="where"){
$key = array_keys($data);
$value = array_values($data);
$sumdata = count($key);
$set="";
for ($i=0;$i<$sumdata;$i++)
{
if (!empty($set)){
$set=$set.",";
}
$set=$set.$key[$i]."=\"".$value[$i]."\"";
}
$sql="UPDATE ".$table." SET ".$set." WHERE ".$where;
// $this->data_query = $this->connect_db->exec($sql);
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
if ($this->data_query){
return true;
}else{
$this->_error();
return false;
}
}
// ลบข้อมูล //
function del($table="table",$where="where"){
$sql="DELETE FROM ".$table." WHERE ".$where;
// $this->data_query = $this->connect_db->exec($sql);
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
if ($this->data_query){
return true;
}else{
$this->_error();
return false;
}
}
function query_manual($sql){
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
if ($this->data_query){
return true;
}else{
$this->_error();
return false;
}
}
// หาจำนวนแถว //
function num_rows($table="table",$field="field",$where="where") {
if ($where=="") {
$where = "";
} else {
$where = " WHERE ".$where;
}
$sql = "SELECT ".$field." FROM ".$table.$where;
// $this->data_query = $this->connect_db->query($sql);
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
if($this->data_query){
return $this->data_query->rowCount();
}else{
$this->_error();
return false;
}
}
// เลือกจำนวนข้อมูลมาแสดง //
function select_query($sql="sql"){
// $this->data_query = $this->connect_db->query($sql);
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
if ($this->data_query){
return $this->data_query;
}else{
$this->_error();
return false;
}
}
// เลือกจำนวนข้อมูลมาแสดงทั้งหมดคำสั่งเดียว คืนค่าเป็น Array //
function select_query_All($sql="sql"){
// $this->data_query = $this->connect_db->query($sql);
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
$fetch = $this->data_query->fetchAll(PDO::FETCH_ASSOC);
return $fetch;
}
// หาจำนวนจาก SQL //
function rows($sql="sql"){
// $this->data_query = $this->connect_db->exec($sql);
if ($res = $sql->rowCount()){
return $res;
}else{
// echo $this->_error();
return false;
}
}
// ดึงค่ามาแสดงทีละแถว ////
function fetch($sql="sql"){
$results = $sql->fetch(PDO::FETCH_ASSOC);
if ($results){
return $results;
}else{
// $this->_error();
return false;
}
}
// แสดง Error ///
function _error(){
echo ($this->connect_db->errorInfo());
}
function lastinsertId($filed="field",$table="table",$where=""){
$sql = "SELECT ".$filed." FROM ".$table." ";
if($where!=""){
$sql .= " WHERE ".$where;
}
$sql .= " ORDER BY ".$filed." DESC LIMIT 1";
$this->data_query = $this->connect_db->prepare($sql);
$this->data_query->execute();
$results = $this->data_query->fetch(PDO::FETCH_ASSOC);
return $results[$filed];
}
function new_insert_id(){
return $this->connect_db->lastInsertId();
}
}
วิธีการการใช้งาน class ครับ
1. การเชื่อมต่อ
$db = New DB();
$db->connectdb("localhost","db_web","root","1234");
2.การใช้งานดึงข้อมูล
$sql_page = $db->select_query("select * from tbl_contact");
$res_page = $db->fetch($sql_page);
3.การเพิ่มข้อมูล
$add = $db->add_db("tbl_member",array(
"name_en"=>$array_data['name_en'],
"name_th"=>$array_data['name_th'],
"Idcard"=>$array_data['member_id']
));
4.การหา new id หลังจากเพิ่มข้อมูลแล้ว
$new_id = $db->new_insert_id();
5.การอัพเดตข้อมูล
$update = $db->update_db("tbl_member",array(
"name_en"=>$array_data['name_en'],
"name_th"=>$array_data['name_th'],
"Idcard"=>$array_data['member_id']
),"id=4");
6.การลบข้อมูล
$del = $db->del("tbl_member","id=4");

