แก้ปัญหา ThaiPDF : Function set_magic_quotes_runtime() is deprecated

ประมาณบรรทัด  770 แก้
 $mqr=get_magic_quotes_runtime();
  set_magic_quotes_runtime(0);
เป็น
if (version_compare(PHP_VERSION, '5.3.0', '<')) { 
      $mqr=get_magic_quotes_runtime(); 
      set_magic_quotes_runtime(0); 
}

จากนั้นตรงบรรทัดไหนที่มี set_magic_quotes ให้เพิ่ม 
if (version_compare(PHP_VERSION, '5.3.0', '<')) 
เป็นเงื่อนไขครอบไว้ทุกตัว

แหล่งข้อมูลเพิ่มเติม
http://stackoverflow.com/questions/2217955/how-can-i-replace-the-deprecated-set-magic-quotes-runtime-in-php

การแก้ปัญหา “Notice: Undefined variable” และ “Notice: Undefined index”

ในบางครั้งที่เราเรียกใช้ตัวแปรใน PHP ที่ยังไม่กำหนดค่า หรืออ่านข้อมูลจากฐานข้อมูลที่เป็นค่า NULL นั้น PHP จะแสดงข้อความ

“Notice: Undefined variable”

หรือ

“Notice: Undefined index”

ในกรณีนี้ให้เราตรวจสอบค่าก่อนโดยใช้ฟังก์ชั่น isset( )  ก่อนเรียกใช้งานตัวแปรดังตัวอย่าง


$phone = isset( $objResult['PHONE'] ) ? $objResult['PHONE'] : " " ;
$email = isset($objResult['EMAIL']) ? $objResult['EMAIL'] : " " ;

ตัวอย่างด้านบนเป็นการตรวจสอบว่า ค่าตัวแปรที่อ่านจากฐานข้อมูล ฟิลด์ที่ชื่อ PHONE และ EMAIL นั้นมีค่าหรือไม่ถ้ามีจึงเอาค่าที่อ่านได้กำหนดให้กับตัวแปร แต่ถ้าไม่มีให้กำหนดเป็นค่าว่าง

การคิวรี่ข้อมูลแบบ buffered และ unbuffered ของ MySQL ใน PHP

เมื่อทำการคิวรี่ข้อมูลใน mysql มันจะทำในลักษณะ buffer เป็นหลัก ข้อดีของวิธีการทำแบบนี้คือ ผลลัพธ์จากการคิวรี่จะถูกส่งจาก MySQL Server ไปยัง PHP และเก็บไว้ใน memory ของ PHP process ซึ่งทำให้สามารถทำ Operation หลายๆ อย่างได้ เช่น นับจำนวนแถว ย้าย pointer ของ current result นอกจากนี้ยังทำให้สามารถคิวรี่ข้อมูลต่อไปได้โดยใช้คอนเนคชั่นเดิม ขณะที่ยังทำงานบน result set ได้ ข้อเสียคือ ยิ่งขนาดของ result set ใหญ่เท่าไหร่ มันก็ต้องใช้หน่วยความจำมากขึ้นไปเท่านั้น หน่วยความจำจะถูกใช่้งานต่อไปจนกว่าทุก ๆ การอ้างถึงของของ result set นั้นจะถูกยกเลิก หรือ บังคับให้ฟรีหน่วยความจำ (จะทำโดยอัตโนมัติ ระหว่างรีเควสจบตัวสุดท้าย) คำว่า “store result” ใช้แทนโหมดนี้ เนื่องจากผลลัพธ์ทั้งหมดของ result set นั้นถูกเก็บไว้

อ่านเพิ่ม

PHP การแปลงวันที่ใน DatePicker ของ jQueryUI ให้อยู่ในรูปแบบวันที่ของ MySQL

ผมคิดว่าคนที่เคยใช้ DatePicker ของ jQueryUI  ร่วมกับ MySQL คงจะเคยเจอปัญหานี้นะครับ

เพราะว่า วันที่ ที่ได้ ของ DatePicker จะอยู่ในรูปแบบ   dd/mm/yyyy  ครับ ซึ่งถ้าเราเอาไปใช้ดึงข้อมูลจาก MySQL โดยตรงจะทำให้ข้อมูลออกมาผิดเพี้ยน เพราะว่าวันที่ใน MySQL จะใช้รูปแบบ yyyy/mm/dd

 

โค๊ดสำหรับแปลง ครับ

$selectDate = date( "Y-m-d", strtotime($inputDate) );

 

การใช้งาน PHPExcel ร่วมกับ CodeIgniter

เราสามารถนำไลบราลี PHPExcel มาใช้งานร่วมกับ CodeIgniter ได้ง่ายๆ ดังนี้

ดาวน์โหลดไฟล์ zip ของ PHPExcel จาก gitHub  แล้วแตกไฟล์ zip ดังกล่าว ก๊อปปี้เฉพาะไฟล์ที่อยู่ในแฟ้ม Classes ไปไว้ที่แฟ้ม application/third_party  ดังรูป

Untitled

จากนั้นให้สร้างไฟล์ php เพื่อครอบไลบราลีตัวนี้ไว้โดยบันทึกไว้ในแฟ้ม application/library เพื่อใช้เป็นตัวกลางในการเรียกใช้งาน PHPExcel ในที่นี้ ผมจะสร้างไฟล์ชื่อ Excel.php  แล้วพิมพ์โค๊ดดังต่อไปนี้ลงไป


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH."/third_party/PHPExcel.php";

class Excel extends PHPExcel{

	public function __construct(){
		parent::__construct();
	}
}

อ่านเพิ่ม