Ben programlama aşağıdaki sorgu inşa ettik, ama ben MySQLi sorgu işlevi aracılığıyla gönderilen ne olarak sorgu doğruladı.
SELECT * FROM `movie_cast`
JOIN `movie_x_movie_cast` ON
`movie_id` = "7" AND `movie_role_id` = "2" AND `movie_cast`.`id` = `movie_x_movie_cast`.`movie_cast_id`
ORDER BY `surname` DESC
Ben kadar vuruyorum sorun ben MySQL komut satırında bu sorguyu çalıştırdığınızda, ben (dökme üyenin soyadına göre) beklenen sırayla listelenir çıktı almak olduğunu.
Ancak, PHP komut seti sonucu döküm üyenin kimliği tarafından sipariş edilir.
İşte (Ben orijinal MySQLi kütüphane uzanan bir sınıfın bir yöntem içinde değilim - MySQLi sorgu yöntemi geçersiz DEĞİLDİR) sonuç kümesini kontrol etmek için kullanıyorum kodu:
$result = $this->query($query);
if ($result && $result->num_rows > 0) {
$data = array();
echo "<pre>";
var_dump($query);
while ($row = $result->fetch_assoc()) {
var_dump($row); // this output actually shows that the result set is ordered by ID not surname
$data[] = $row;
}
var_dump($data);
echo "</pre><hr />";
}
PHP 6 yıldır, ve mysqli kullanarak 3 yıl ya da öylesine önce bu davranışı hiç görmedim.
Ben Ubuntu 9.10 üzerinde son PHP (5.2.10) ve MySQL (5.1.37) paketleri kullanıyorum