mysqli选择不返回正确的记录数

时间:2014-09-16 04:12:20

标签: php mysqli left-join

我有这个select查询,且customers表中具有事务表记录的所有记录都返回正常,但它不会返回来自customers表的所有新添加的记录,这些记录在事务表上没有记录但只有1。

我已经尝试在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;
}

1 个答案:

答案 0 :(得分:0)

我把它全部搞定了,我只是为显示器调用了错误的功能,傻了我。上面的代码正在运行