2016-08-30 6 views
0

に指定したbooleanが、私はここにログインした後、データベースから詳細を呼び出す関数を持って、パラメータ1がmysqli_resultされることを想定して、私が持っている問題は、私はこれを受け取ることです。警告:mysqli_fetch_array()

警告:mysqli_fetch_array()は、パラメータ1をmysqli_resultことを期待し、私は私が必要なデータを取得することができるだろうように、中...

与え ブールは、あなたはどのように変更する必要があるものを私に指摘して頂けませんかデータベースから?

function profile(){ 
include "config.php"; 
$conn = mysqli_connect($host,$user,$pass,$db); 

//check 
if(mysqli_connect_errno($conn)){ 
    echo "Error in DB"; 
}else{ 
    //connected 
} 

//prepare 
$sql = "SELECT * FROM accounts where username='" . $_SESSION['username'] . "'"; 

//display 
$result = mysqli_query($conn,$sql); 
$myrow=mysqli_fetch_array($result)){ // --->the warning is from this line 
     do{ 
      $info= array(); 
      $info['firstName'] = $myrow['firstName']; 
      $info['middleInitial'] = $myrow['middleInitial']; 
      $info['lastName'] = $myrow['lastName']; 
      $info['mobile_no'] = $myrow['mobile_no']; 
      $info['email_address'] = $myrow['email_address']; 
      $info['registration_date'] = $myrow['registration_date']; 
      $account[] = $info; 
     }while($myrow=mysqli_fetch_array($result)); 
    } 
    return $account; 

} 
+0

準備されたステートメントを使用します。 – Jens

+2

[mysqli \ _fetch \ _array()/ mysqli \ _fetch \ _assoc()/ mysqli \ _fetch \ _row()は、パラメータ1がresourceまたはmysqli \ _result、boolean given]を必要とする可能性があります。 http://stackoverflow.com/questions/2973202/mysqli-fetch-array-mysqli-fetch-assoc-mysqli-fetch-row-expects-parameter-1) –

答えて

1

あなた$resultnullです。 PHPのドキュメントmysqli_queryから

を返し、失敗した場合にFALSE。成功したSELECT、SHOW、DESCRIBEまたは EXPLAINクエリmysqli_query()はmysqli_resultオブジェクトを返します。 その他の成功したクエリの場合、mysqli_query()はTRUEを返します。

+0

。私はテーブルの名前を見落としました。 「アカウント」のみである必要があります。ありがとう! –

0
USE 

if($result){ 
    $myrow=mysqli_fetch_array($result)){ 
      do{ 
       $info= array(); 
       $info['firstName'] = $myrow['firstName']; 
       $info['middleInitial'] = $myrow['middleInitial']; 
       $info['lastName'] = $myrow['lastName']; 
       $info['mobile_no'] = $myrow['mobile_no']; 
       $info['email_address'] = $myrow['email_address']; 
       $info['registration_date'] = $myrow['registration_date']; 
       $account[] = $info; 
      }while($myrow=mysqli_fetch_array($result)); 
     } 
     return $account; 

    } 
0

mysqli_affected_rows()関数は、前のSELECT、INSERT、UPDATEに変更された行の数を返し、REPLACE、またはDELETEクエリ。

<?php 
    //display 
    $result = mysqli_query($conn,$sql); 

    $count=mysqli_affected_rows($con); 


    if($count>0) 
    { 
      $myrow=mysqli_fetch_array($result)){ 
        do{ 
         $info= array(); 
         $info['firstName'] = $myrow['firstName']; 
         $info['middleInitial'] = $myrow['middleInitial']; 
         $info['lastName'] = $myrow['lastName']; 
         $info['mobile_no'] = $myrow['mobile_no']; 
         $info['email_address'] = $myrow['email_address']; 
         $info['registration_date'] = $myrow['registration_date']; 
         $account[] = $info; 
        }while($myrow=mysqli_fetch_array($result)); 
       } 
       return $account; 

    } 
    else 
    { 
     echo "empty";  
    } 

    ?>