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