İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

mysql_fetch_array'da Resource sorunu

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
1
Konum
Eskişehir
php dosyamın içeriği

PHP:
<?php
include("mysql.php");
include("logged.php");

$my_sites = mysql_query('select * from my_sites where whose=\'' . $userid . '\'');

    echo "<table border=3 width=100% bordercolor=blue>";
    
if (mysql_num_rows($my_sites)<1){echo "<center><b>siten yok</b></center>";};

while ($all_my_sites = mysql_fetch_array($my_sites)) {
    
    $my_outs = mysql_query('select * from my_deals where out=\'' . $all_my_sites['id'] . '\'');
    
    if (mysql_num_rows($my_outs)<1){echo "<center><b> eklemen gereken yok</b></center>";};

    while ($all_my_outs = mysql_fetch_array($my_outs)) {
        
        echo "<tr><td> <b>" . $all_my_outs['in'] . "</b></td><td> => </td><td>" . $all_my_outs['out'] . "</td></tr>";
        
        }
        
    $my_ins = mysql_query('select * from my_deals where in=\'' . $all_my_sites['id'] . '\'');

    if (mysql_num_rows($my_ins)<1){echo "<center><b> eklenmen gereken yok</b></center>";};

    while ($all_my_ins = mysql_fetch_array($my_ins)) {
        
        echo "<tr><td> <b>" . $all_my_ins['out'] . "</b></td><td> => </td><td>" . $all_my_ins['in'] . "</td></tr>";
        
        }        

    }
    
    echo "</table>";

?>

mysql tablom

Kod:
id	in	out	start_time	duration	ok
 1	 5	11	1300623008	2592000	       0.0.0
 2	 2	20	1300623008	2592000	       0.0.0
 3	20	11	1300623008	2592000	       0.0.0
while döngüsü sırasında $all_my_sites['id'] deişkenine gelen değerler 20 ve 21.
yani bi kere in bölümünden bi kere out bölümünden veri çekebiliyor olmam gerek.

tarayıcıya çıktısı (cewabını aradığım hata)

HTML:
<table border=3 width=100% bordercolor=blue><br /> 
<b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>15</b><br /> 
<center><b> eklemen gereken yok</b></center><br /> 
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>17</b><br /> 
<br /> 
<b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>25</b><br /> 
<center><b> eklenmen gereken yok</b></center><br /> 
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>27</b><br /> 
<br /> 
<b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>15</b><br /> 
<center><b> eklemen gereken yok</b></center><br /> 
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>17</b><br /> 
<br /> 
<b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>25</b><br /> 
<center><b> eklenmen gereken yok</b></center><br /> 
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>C:\xampplite\htdocs\mine\checker\deals.php</b> on line <b>27</b><br /> 
</table>

nedenini anlayamadığım bir hata alıyorum.

mysql_fetch_array için resource gerekli hatası veriyor ama kodlarda bi sorun yok gibi.
ztn gösterdiğim
yazdığım kodlara göre fonksiyona gönderdiğim değişkenn içinde resource olmalı (boolean deil)
ama sistem boolean gönderdiğimi legalpara ediyor.
echo ile kontrol ettim harbidende çıktı resource olmadı. ama resource olmalıydı. hatamı göremiyorumda.
galiba mysqlde ardarda işlem yapmakla ilgili bi durum olabilir. ikinci queryi göndermeden birinciyi unset felan yapmam gerekebilir die düşündüm şuan (henüz denemedim tam şuan aklıma geldi bu)

googleda biraz gezindim bu hatayı alan çok ama adam gibi çözüm sunan pek yok.
aranızda böyle bi sorunla karşılaşan ve çözümünü bilen biri olabilir die danışmak istedim. varmı yardım edebilecek olan??
yada alternatif bi yol gösterebilecek olan?
(yeni sayılırım bunu yazana kadar cnm çıktı ztn)
 
E

Erturk

Misafir
mysql_num_rows u şu şekilde kullanırsan daha iyi olacaktır dostum.

$my_sites = mysql_query("select * from my_sites where whose='$userid'");
if(mysql_num_rows($my_sites) <1) {
echo 'Site yok';
}


Buradaki if kontrolünde $my_sites e atamış oldugumuz SQL sorgu sonucunun 1 den düşük olup olmadıgını, yani olup olmadıgını soruyoruz.

Bütün mysql_num_rows kısımlarını bu sekilde değişirsen sorun kalmayacaktır
 

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
1
Konum
Eskişehir
tamm demek istediğini anladım denemek için hepsini düzelttm ama hiç bir çıktı sayfasında hiç bi düzelme olmadı malesef. yinede teşekkürler.
(değişkenin birden küçük olması ile değişkenin 0 olması aynı anlama geliyor sonuçta)
ama hala listelemek istediğim veriyi listeleyemedim.
Hala hertürlü yardıma açık bi şekilde bekliyorum.
 
E

Erturk

Misafir
Kardes mysql_num_rows un hata verme sebebi if koşulunda karşılaştırdıgın sorgular. Aşağıdakileri benim yaptıgım gibi değişirmisin birde.

ESKISI : $my_sites = mysql_query('select * from my_sites where whose=\'' . $userid . '\'');

YENISI: $my_sites = mysql_query("select * from my_sites where whose='$userid''');

ESKISI : $my_ins = mysql_query('select * from my_deals where in=\'' . $all_my_sites['id'] . '\'');

YENISI : $my_ins = mysql_query("select * from my_deals where in='$all_my_sites['id']'");

ESKISI : $my_outs = mysql_query('select * from my_deals where out=\'' . $all_my_sites['id'] . '\'');

YENISI : $my_outs = mysql_query("select * from my_deals where out='$all_my_sites['id']'");
 

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
1
Konum
Eskişehir
Kardes mysql_num_rows un hata verme sebebi if koşulunda karşılaştırdıgın sorgular. Aşağıdakileri benim yaptıgım gibi değişirmisin birde.

ESKISI : $my_sites = mysql_query('select * from my_sites where whose=\'' . $userid . '\'');

YENISI: $my_sites = mysql_query("select * from my_sites where whose='$userid''');

ESKISI : $my_ins = mysql_query('select * from my_deals where in=\'' . $all_my_sites['id'] . '\'');

YENISI : $my_ins = mysql_query("select * from my_deals where in='$all_my_sites['id']'");

ESKISI : $my_outs = mysql_query('select * from my_deals where out=\'' . $all_my_sites['id'] . '\'');

YENISI : $my_outs = mysql_query("select * from my_deals where out='$all_my_sites['id']'");

bu dediğini yapamam çünkü 3üde hatalı :)

ilkinde en sonda " kullanarak kapatmamışsın. (iki tane yanyana tek tırnak ile kapatmışsın.)

sonraki ikisindede " içinde dizi değişkeni kullanmışsın. ( çift tırnak içinde sadece normal değişken kullanılabiliyor)

demek istediğini anladım ama hata veren ksım orası deil.(ki o kısım hatalı deil zaten) teşekkürler yinede.

hala yardımlara açığım...
 
E

Erturk

Misafir
bu dediğini yapamam çünkü 3üde hatalı :)

ilkinde en sonda " kullanarak kapatmamışsın. (iki tane yanyana tek tırnak ile kapatmışsın.)

sonraki ikisindede " içinde dizi değişkeni kullanmışsın. ( çift tırnak içinde sadece normal değişken kullanılabiliyor)

demek istediğini anladım ama hata veren ksım orası deil.(ki o kısım hatalı deil zaten) teşekkürler yinede.

hala yardımlara açığım...

denedin mi sen ?
 
E

Erturk

Misafir
Bu arada yeni farkettim.

if kontrollerinin sonuna ; koymuşsun. Onları kaldırman lazım.

PHP:
<?php


$my_sites = mysql_query("select * from my_sites where whose='$userid'");

    echo "<table border=3 width=100% bordercolor=blue>";
    
if (mysql_num_rows($my_sites)<1){
echo '<center><b>siten yok</b></center>';
}

while ($all_my_sites = mysql_fetch_array($my_sites)) {
    
    $my_outs = mysql_query("select * from my_deals where out='$all_my_sites[id]'");
    
    if (mysql_num_rows($my_outs)<1){
	echo '<center><b> eklemen gereken yok</b></center>';
	}

    while ($all_my_outs = mysql_fetch_array($my_outs)) {
        
        echo '<tr><td> <b>' . $all_my_outs['in'] . '</b></td><td> => </td><td>' . $all_my_outs['out'] . '</td></tr>';
        
        }
        
    $my_ins = mysql_query("select * from my_deals where in='$all_my_sites[id]'");

    if (mysql_num_rows($my_ins)<1){
	echo '<center><b> eklenmen gereken yok</b></center>';
	}

    while ($all_my_ins = mysql_fetch_array($my_ins)) {
        
        echo '<tr><td> <b>' . $all_my_ins['out'] . '</b></td><td> => </td><td>' . $all_my_ins['in'] . '</td></tr>';
        
        }        

    }
    
    echo '</table>';

?>

Kodları aynen bu şekilde koyup sonucu yazarmısın tekrar.
 

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
1
Konum
Eskişehir
senn hatrına denedim okadar uğraştın emek harcadın sonuçta ama tamda beklediğim gibi hiç bir değişiklik yok.
düzelttirdiğin yerlerin birinin bile aldığım hatayla ilgisi yok hatta düzelttirdiğin yerlerden birinde bile hata yok.
aldıım hata ilk mesajda belirttiğimle aynı hala.
hala listelemeye çalıştığım veriyi çekemedim mysqlden. googleda aramaya devam ediyorum cewabı.
yardımlara açığım.
 
E

Erturk

Misafir
senn hatrına denedim okadar uğraştın emek harcadın sonuçta ama tamda beklediğim gibi hiç bir değişiklik yok.
düzelttirdiğin yerlerin birinin bile aldığım hatayla ilgisi yok hatta düzelttirdiğin yerlerden birinde bile hata yok.
aldıım hata ilk mesajda belirttiğimle aynı hala.
hala listelemeye çalıştığım veriyi çekemedim mysqlden. googleda aramaya devam ediyorum cewabı.
yardımlara açığım.

Kendi SQL yapıma gore duzenlediğimde ekran cıktısında hıc bır sıkıntı yoktu. Halen sorun yasıyor olman tuhaf...

Dilersen Teamviewer ile kontrol edebilirim.
 

cerkiner

0
İyinet Üyesi
Katılım
25 Haziran 2009
Mesajlar
252
Reaction score
1
Konum
Eskişehir
sorun field isimlerim deymiş out ve in mysql komut isimleriyle aynı olduğundan sorun çıkıyomuş. out yerine outlink in yerine inlink olarak deiştirdim database yapısını hersey normala döndü ;) teşekkürler yinede
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst