У меня есть этот запрос выбора, и все записи в таблице клиентов, в которой есть запись в таблице транзакций, возвращается нормально, но он не возвращает все вновь добавленные записи из таблицы клиентов, в которой нет записей в таблице транзакций, а только 1.
Я попытался выполнить оператор в SQL в PHPMyAdmin, и он прекрасно работает, возвращает все записи.
Что не так со сценарием? Почему он не возвращает все записи в таблице клиентов, в которой нет записей в таблице транзакций, а только 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;
}
Я все заработал, я просто вызывал неправильную функцию для дисплея, глупый я. приведенный выше код работает
Других решений пока нет …