|
หลายคนคงเคยเจอปัญหานี้เวลา upgrade server ใหม่โดยเฉพาะ php 4.x ไปยัง php5 ครับ ตรงนี้ต้องถือว่าเป็นปัญหาจริง ๆ ครับ วิธีแก้ไขก็มีหลายวิธีครับ
หากก่อนหน้านี้พบปัญหา Notice: Only variable references should be returned by reference
เบื้องต้นให้ลองเปิดไฟล์ adodb.inc.php และหาบรรทัดที่เขียน
$arr =& $this->GetArray($nrows);
แก้ไขเป็น
ini_set('error_reporting', E_NONE);
$arr =& $this->GetArray($nrows);
ini_restore('error_reporting');
จริง ๆ แล้วตัว php5 จะไม่อนุญาตให้มีการ refer function ดังนั้นตามความจริงแล้วแค่แก้ไข =& เป็น = ก็พอครับ (ลองทดสอบดู)
หากยังไม่ได้อีกลองหาบรรทัด
function &GetAssoc($force_array = false $first2cols = false)
และแก้ไขเป็น
function GetAssoc($force_array = false $first2cols = false ) // ตัด & ออกเท่านั้นเองครับ
หากยังไม่ได้อีกแสดงว่าน่าจะเป็นเรื่องของ version ของ adodb ที่ใช้ติดต่อฐานข้อมูลครับ ให้ลอง upgrade โดยสามารถไป download ได้ที่
http://sourceforge.net/project/showfiles.php?group_id=42718
ซึ่งก็จะมีสำหรับ php5 โดยเฉพาะครับ
Webdesign Article : |