php

Kodla Büyü
Mesajlar
18
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in index.php on line 505

Böyle bir hata alıyorum.. neyi yanlış yapıyorum anlamadım. 2 gündür uğraşıyorum olmadı. bilen bir arkadaş var mı acaba?
 
rfid aletiyle kartın seri numarasını okutup mysql'e kaydetmeye çalışıyorum. başka bir hata almıyorum. sadece bu çıkıyor.. ve istediğimi yapamıyorum. mysql veri türünü boolean mı yapmalıyım acaba ? onu da yaptım hala aynı hata.. veri tipi hatası mı acaba? yoksa veri tabanına bağlanmada sıkıntı yaşamıyorum.
 
*mysql_num_rows() a atadığınız değişken üstte tanımladığınız değişken ile eşleşmiyor olabilir. $ işaretleri kontrol edin.
*sorgu yaptığınız tablo sütununun değeri null kalmış olabilir.
* sql kodunda hata olabilir.
 
sizden bir parametre bekliyor bu parametre eleman sayısını almak istediğiniz dizi olabilir
 
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
şeklinde kullanıyorsunuz değil mi sayın hocam.
Bir sorgudan kaç tane sonuç alacağınızı bulmak için.
 
Ayrıca hocam yukarıda bahsetmiş mysql fonksiyonları tavsiye edilmiyor diye. Ben kaldırılmadı diye biliyorum, tavsiye edilmiyor diye biliyorum. Onun yerine PDO önermiş ama mysqli diye bir yapı da var mysql yapısına benziyor. PDO'dan bikaç eksiği olsada gayet mantıklı bir yol o da. PHP şu an mysqli ve PDO'nun ikisini de öneriyor. Onu da konuya eklemiş olalım belki okuyanlar olur
 
Hocam satırda çektiğiniz kodu bir yerde kullanmıyorsanız sunucu bu şekilde hata verir.
 
Sorgunuz boş dönüyor, sorgu boş döndüğünde FALSE değeri ile döner. mysql_num_rows() bir dizi beklerken, siz ona FALSE değerini veriyorsunuz (sorgunuz boş döndüğü için), hata bu anlama geliyor. Ölümcül bir hata değil, sadece uyarıdır. Yani işleyişe etkisi yoktur.
 
Tarihe bakmadan cevaplamışız, neyse :) Kesin sonuç yazdığım gibidir arkadaşlar. Bu hatayı almamak için şöyle bir yol izlenebilir.

if($sorgu!=false) $adet=mysql_num_rows($sorgu) else $adet=0;
 
Geri
Üst