mysql_fetch_array () dönen beklenmeyen değer

3 Cevap php

Ben kullanmak mysql_fetch_assoc bir ilişkisel dizi dönmek için bir proje üzerinde çalışıyorum.

Ancak, ben dönecekti neden olarak şaşkın TRUE

Ben PHP kılavuz sayfasına baktım, ve iade edilmelidir sadece boolean değeri FALSE, ve sonra sadece bir fail üzerinde.

Ben soyutlama sınıfların özel bir set kullanıyorum rağmen, basically Bu yapıyor:

$result = mysql_query("SELECT * FROM table WHERE filename = 'test1.jpg'");
var_dump(mysql_fetch_assoc($result)); // bool(true)

O TRUE bir dizi yerine dönen neden biliyor mu?

Update

Evet, birkaç şeyi denedikten sonra, ben yukarıdaki kodu olarak çalışan bir ilişkisel dizi döndürür, onun benim kütüphanesini tespit ettik. O TRUE dönüyordu tam olarak neden bilmiyorum, ama şimdi, ben (şeyler bunlar (benim bir sorun) olması daha karmaşık ve sadece mysqli kullanmak yapmayı durdurmak için teşekkür gidiyorum ucu yerine, görünüşe göre işe yaramayan kendi ActiveRecord sınıfları, Michael).

Teşekkürler!

3 Cevap

mysqli_query mysqli_fetch_assoc kullanmaya başlayın. Eski sürümü yakında modası olmaktır - yeni biri zaten iyidir.

Ben aynı şey koştu. Benim açımdan bir aptal kodlama hatası oldu.

Ben ile başladı:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result)) {
   // do stuff
}

hangi iyi çalıştı. Sonra ben bunu değiştirdim:

$result = mysql_query($someSql);
while($row = mysql_fetch_assoc($result) && $someCondition) {
   // do stuff
}

Bu orada kalan satırlar ve ikinci koşul true iken $row true hale gelmektedir ki, $row = (mysql_fetch_assoc($result) && $someCondition) yorumlanır.

Ne yazmak istedim oldu:

$result = mysql_query($someSql);
while(($row = mysql_fetch_assoc($result)) && $someCondition) {
   // do stuff
}

Eğer denedim:

print_r (mysql_fetch_assoc($result));

Bu sizin için ne arıyorsanız verebilir.

Oh, ve aptal ben, var_dump () doğrudan print_r gibi onun bulguları çıkışları (), hiçbir şey döndürür.