2014-09-16 2 views
0

이 선택 쿼리가 있고 트랜잭션 테이블의 레코드가있는 고객 테이블의 모든 레코드는 정상적으로 반환되지만 트랜잭션에 레코드가없는 customers 테이블의 모든 새로 추가 된 레코드를 반환하지는 않습니다 테이블이지만 단지 1입니다.mysqli가 올바른 레코드 수를 반환하지 않음을 선택합니다.

나는 PHPMyAdmin에서 SQL로 실행될 문장을 시도했으며, 모든 레코드를 반환합니다.

스크립트에 어떤 문제가 있습니까? 그 어떤 거래 테이블에 기록 만 1

$q ="SELECT cust.*, 
      COALESCE(SUM(p.transactions_amount), 0) AS total 
     FROM customers cust 
    LEFT JOIN transactions p 
     ON p.transactions_customer_id = cust.customer_id 
    GROUP BY cust.customer_id 
    ORDER BY cust.customer_id DESC"; 

$query = mysqli_prepare($connection,$q); 
if(mysqli_stmt_execute($query)) 
{ 
    // execute query only 
    if($return === false) 
    { 
     mysqli_close($connection); 
     return true; 
    } 
    //return values 
    else 
    { 
     $result = array();  
     $meta = $query->result_metadata(); 
     while ($field = $meta->fetch_field()) 
     { 
      $params[] = &$row[$field->name]; 
     } 

     call_user_func_array(array($query, 'bind_result'), $params); 
     while ($query->fetch()) 
     { 
      var_dump($row); 
      $temp = array(); 
      foreach($row as $key => $val) 
      { 
       $temp[$key] = $val; 
      } 
      $result[] = $temp; 
     } 

     $meta->free(); 
     $query->close(); 
     return $result;     
    } 
} 
else 
{ 
    mysqli_close($connection); 
    return false; 
} 
+0

가장 기본적인 [페칭] (http://php.net/manual/en/mysqli.query.php)을 시도하고 디버그하고 준비된 명령문 가져 오기와 비교하여 알아보십시오 – Ghost

답변

0

나는 모든 작업을 가지고, 난 그냥 바보, 나 디스플레이에 대한 잘못된 함수를 호출했다가없는 고객 테이블의 모든 레코드를 반환하지 어떻게되어 있습니다. 위의 코드가 작동 중입니다

관련 문제