گزینه ها
mahbobe.prog

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given

PHP

توسط mahbobe.prog در 3 سال پیش
02.2k143 سال پیش
سلام
کد php
        function fetch_assoc($res)
        {
            return 
mysql_fetch_assoc($res) ;
        }
// End fetch_array() method
        
        
function select($fields="*" $table $conditions "" $options = array())
        {
            
var_dump$fields) ;
            
var_dump($conditions) ;
            if(
var_dump($fields == array())) // داخل if نمیره
            
{
                echo 
'select feild' ;
                
$fields implode(',' ,$fields) ;
                
$conditions implode("','" $conditions) ;                
            }
            else 
                 
$fields '*' ;
            
            
$sql "SELECT ".$fields." FROM "$this->table ;
            if(
$conditions != "")
            {
                
$sql .= " WHERE ".'$conditions' ;
            }
            if(isset(
$options['order_by']))
            {
                
$sql .= " ORDER BY ".$options['order_by'] ;
                if(isset(
$options['order_dir']))
                {
                    
$sql .= " ".my_strtoupper($options['order_dir']) ;
                }
            }
            if(isset(
$options['limit_start']) && isset($options['limit']))
            {
                
$sql .= " LIMIT ".$options['limit_start'].", ".$options['limit'] ;
            }
            else
                if(isset(
$options['limit']))
                {
                    
$sql .= " LIMIT ".$options['limit'] ;
                }
             
$res $this->exec($sql) ;
             return 
$this -> fetch_assoc($res) ;
        } 
اینم بعد اجرا
array(2) { [0]=> string(8) "userName" [1]=> string(8) "password" } array(2) { [0]=> string(25) "mmxx.prog@gmail.com" [1]=> string(6) "14sd14" } bool(false)
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\userClass1\myDB.php on line
0
C0der در
محتوای متغیر res$ رو بررسی کن
دستور Sql مشکل داره.
C0der نوشته استمحتوای متغیر res$ رو بررسی کن
دستور Sql مشکل داره.
متد exec() برا یک متد دیگه درست کار میکنه و مشکلی نداره و لی داخل if که echo برا چک کردن میدم خروجی نمیده و داخل if نمیره فکر میکنم بابت همین هستش که متغیر $sql مشکل پیدا نمیکنه
نمیدونم براچی اینطوریه لطفا راهنماییم کنین
0
PHP.sec در
سلام
var_dump رو تو شرط نباید بذاید.
0
mahbobe.prog در
PHP.sec نوشته استسلام
var_dump رو تو شرط نباید بذاید.
سلام
var_dump رو هم ورداشتم ارورش تغییری نکرد .
علت خطا اینه که بجای resource بهش نوع داده ای boolean با مقدار False داده شده و این یعنی احتمالا سینتکس SQL داده شده با خطا مواجه شده همونطور که دوستانمون گفتن.
علت اینکه دستورات داخل if اجرا نمیشن حتما اینه که شرط برقرار نمیشه دیگه! اگر var_dump رو برداشتید باز دستورات اجرا نمیشن یعنی شرط درست نیست.

نتیجه اجرای این دستور رو بذارید :
کد php
echo gettype($fields
برای اجرای شرط باید نتیجه دستور بالا array باشه و نوع داده ای متغیر res$ هم باید resource باشه.
0
mahbobe.prog در
نوع متغیر $fields رو چک کردم از نوع ارایه هستش پس شرط if درست هست ولی echo که داخل کدای if گذاشتم اجرا نمیشه
و $res از نوع بولین هستش
0
PHP.sec در
متد select رو کجا فراخوانی کردید؟
در صورت امکان کد کامل رو پیوست کنید.
سلام
دوستان شما تو شرط دارید اشتباه میکنید.
کد php
if( $fields == array() ) 
در صورتی درسته که متغیر برابر با یک آرایه خالی باشه، پس شرط اشتباهه.
اگر میخواید ببینید متغیر fields$ آرایه هست یا خیر باید از تابع is_array استفاده کنید.
SOFTAFZAR نوشته استسلام
دوستان شما تو شرط دارید اشتباه میکنید.
کد php
if( $fields == array() ) 
در صورتی درسته که متغیر برابر با یک آرایه خالی باشه، پس شرط اشتباهه.
اگر میخواید ببینید متغیر fields$ آرایه هست یا خیر باید از تابع is_array استفاده کنید.

آه خدای من :73:
راست میگیدا چطور حواسم به این نبود :60: