• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطای unexpected T_FUNCTION + سفارشی سازی تابع mysql_fetch_array
#1
هو،
سلام علیکم،

بعضی وقتا واقعا یه کد ساده حال آدمو میگیره تا دیباگش کنی!
الآنم نمیدونم از خستگیه یا چیز دیگه که نمیدونم مشکل چیه تو این کد که ارور میده...
دوستان یه نگاهی بندازن ببینن مشکل کجاست.
کد:
unexpected T_FUNCTION on line 27

کد:
Parse error: parse error in ....*.php on line 27


کد پی‌اچ‌پی:
<?php
error_reporting
(E_ALL);
// DB functions
/*
    DB connect
*/
function my_db_connect($db=NULL,$host=NULL,$user=NULL,$pass=NULL){
        if(!isset(
$db,$host,$user,$pass)){
                
//set default varibales
                
$db='test'//DB name
                
$host='127.0.0.1';
                
$user='root';
                
$pass='';
            }
        if(
mysql_connect($host,$user,$pass)){
                
$link=mysql_connect($host,$user,$pass);
                if(
mysql_select_db($db,$link)){
                    
mysql_query('SET CHARACTER SET utf8;'); 
                    return 
$link;
                    }
        }
        return;
    }

/*
    fetch_array
*/
function my_fetch_array($db=NULL,$table,$where=NULL) {
        if(!
db()){return;}
        if(
where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; }
        
$query='SELECT * FROM`'.$db.'`.`'.$table;
        if(!
mysql_fetch_array($query,db())){ return; }
        
$rusult=mysql_fetch_array($query,db());
        return 
$result;
                
    }
?>

تشکر
یا حق ج

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#2
لاین 27 کدومه خب ؟
  پاسخ
تشکر شده توسط : paull Goback zoghal
#3
(۱۳۹۰ تير ۲۷, ۰۳:۰۷ ب.ظ)hidensfot نوشته: لاین 27 کدومه خب ؟

کد پی‌اچ‌پی:
function my_fetch_array($db=NULL,$table,$where=NULL) { 

اینجا میتونید آنلاین تست کنید:
http://www.developphp.com/php_syntax_validator

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#4
اینو امتحان کن:
کد پی‌اچ‌پی:
<?php
error_reporting
(E_ALL);
// DB functions
/*
    DB connect
*/
function my_db_connect($db=NULL,$host=NULL,$user=NULL,$pass=NULL){
    if(!isset(
$db,$host,$user,$pass)){
                
//set default varibales
                
$db='test'//DB name
                
$host='127.0.0.1';
                
$user='root';
                
$pass='';
    }
    if(
mysql_connect($host,$user,$pass)){
                
$link=mysql_connect($host,$user,$pass);
                if(
mysql_select_db($db,$link)){
                    
mysql_query('SET CHARACTER SET utf8;'); 
                    return 
$link;
                }
    }
        return;
}
/*
    fetch_array
*/
function my_fetch_array($db=NULL,$table,$where=NULL) {
        if(!
db()){return;}
        if(
where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; }
        
$query='SELECT * FROM`'.$db.'`.`'.$table;
        if(!
mysql_fetch_array($query,db())){ return; }
        
$rusult=mysql_fetch_array($query,db());
        return 
$result;
                
    }
?>
  پاسخ
تشکر شده توسط : Goback
#5
کد پی‌اچ‌پی:
if(!db()){return;}
        if(
where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; } 
؟؟؟؟؟؟؟؟؟
فکر کنم $ کم دارن اینا
کد پی‌اچ‌پی:
if($where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; } 

این تابع هم تو این کدی که گذاشتید نیست
کد پی‌اچ‌پی:
db() 
  پاسخ
تشکر شده توسط : paull Goback
#6
فکر کنم علاوه بر اون مواردی که استاد فرمودند :
کد پی‌اچ‌پی:
if($where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; }
        
$query='SELECT * FROM`'.$db.'`.`'.$table
query همیشه یه چیزه تعریف میشه اول تعریف اولیه بعد شرط :
کد پی‌اچ‌پی:
$query='SELECT * FROM`'.$db.'`.`'.$table;
    if(
$where!=NULL){ $query .=' WHERE '.$where; } 
  پاسخ
تشکر شده توسط : hidensoft Goback
#7
کلا مشکل داره کدش
  پاسخ
تشکر شده توسط : paull Goback
#8
(۱۳۹۰ تير ۲۷, ۰۳:۱۸ ب.ظ)paull نوشته: اینو امتحان کن:
کد پی‌اچ‌پی:
<?php
error_reporting
(E_ALL);
// DB functions
/*
    DB connect
*/
function my_db_connect($db=NULL,$host=NULL,$user=NULL,$pass=NULL){
    if(!isset(
$db,$host,$user,$pass)){
                
//set default varibales
                
$db='test'//DB name
                
$host='127.0.0.1';
                
$user='root';
                
$pass='';
    }
    if(
mysql_connect($host,$user,$pass)){
                
$link=mysql_connect($host,$user,$pass);
                if(
mysql_select_db($db,$link)){
                    
mysql_query('SET CHARACTER SET utf8;'); 
                    return 
$link;
                }
    }
        return;
}
/*
    fetch_array
*/
function my_fetch_array($db=NULL,$table,$where=NULL) {
        if(!
db()){return;}
        if(
where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; }
        
$query='SELECT * FROM`'.$db.'`.`'.$table;
        if(!
mysql_fetch_array($query,db())){ return; }
        
$rusult=mysql_fetch_array($query,db());
        return 
$result;
                
    }
?>

مشکلش کجا بود؟
(۱۳۹۰ تير ۲۷, ۰۳:۲۶ ب.ظ)hidensfot نوشته:
کد پی‌اچ‌پی:
if(!db()){return;}
        if(
where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; } 
؟؟؟؟؟؟؟؟؟
فکر کنم $ کم دارن اینا
کد پی‌اچ‌پی:
if($where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; } 

این تابع هم تو این کدی که گذاشتید نیست
کد پی‌اچ‌پی:
db() 
بله! متغیر $ نداشت،اون تابع هم اسمش آپدیت نشده بود.ممنون
(۱۳۹۰ تير ۲۷, ۰۳:۴۰ ب.ظ)paull نوشته: فکر کنم علاوه بر اون مواردی که استاد فرمودند :
کد پی‌اچ‌پی:
if($where!=NULL){ $query='SELECT * FROM`'.$db.'`.`'.$table.'` WHERE '.$where; }
        
$query='SELECT * FROM`'.$db.'`.`'.$table
query همیشه یه چیزه تعریف میشه اول تعریف اولیه بعد شرط :
کد پی‌اچ‌پی:
$query='SELECT * FROM`'.$db.'`.`'.$table;
    if(
$where!=NULL){ $query .=' WHERE '.$where; } 

به این میگن بهینه نویسی ،ممنون
(۱۳۹۰ تير ۲۷, ۰۳:۴۱ ب.ظ)hidensfot نوشته: کلا مشکل داره کدش
شما به بزرگواریتون ببخشید Big Grin

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط : paull
#9
بعضی وقتا واقعا آدم خنگ میشهBig Grin
TNX ALL
کد پی‌اچ‌پی:
<?php
error_reporting
(E_ALL);
// DB functions
/*
    DB connect
*/
function my_db_connect($db='proje',$host='127.0.0.1',$user='root',$pass=''){
    if(
mysql_connect($host,$user,$pass)){
                
$link=mysql_connect($host,$user,$pass);
                if(
mysql_select_db($db,$link)){
                    
mysql_query('SET CHARACTER SET utf8;'); 
                    return 
$link;
                }
    }
        return;
}


/*
    fetch_array
*/

function my_fetch_array($table,$where='') {
        if(!
my_db_connect()){
            return;
            }
        if(
$where!=''){
             
$query='SELECT * FROM `'.$table.'` WHERE '.$where;
            }
        
$query='SELECT * FROM `'.$table.'`';
        if(!
mysql_fetch_array(mysql_query($query))){
        return;
            }
        
$result=mysql_fetch_array(mysql_query($query));
        return 
$result;
                
    }
?>

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط : hidensoft
#10
من کد رو امتحان نکردم ولی هرجای کدت که مشکل داشته باشه بحث اون اررور تو خط 27 همون فضای خالیه قبل از return در اولین فانکشن هست. اگر اون رو برداری خطا دیگه اون نیست. یادت باشه همیشه با یک برنامه خوب کد هات رو بنویسی. من خودم همیشه از adobe dreamweaver استفاده می کنم.
غایب
  پاسخ
تشکر شده توسط : Goback texas


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان