İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

[PHP] Çözemediğim Hata 2

ddddddddddd11.05.201119 cevap4.858 görüntüleme
2011'den beri1.851 mesaj
#1
<?php
					$sql="Select * From articless order by id desc LIMIT 0,5";
					$query=mysql_query($sql);
					while($read=mysql_fetch_assoc($query)) {
					$id     =$read['id'];
					$title  =$read['title'];
					echo "<li><a href='#'>$title</a></li>";
					}
				    ?>




Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\blog\index.php on line 69

hatası alıyorum yardmlarınızı bekliyorum.
Cevaplar
2009'den beri2.197 mesaj
#2
Şöyle dene bir


<?PHP
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");
  While($aktar = mysql_fetch_assoc($sql)){
  $id               = $aktar['DB_id'];
  $title            = $aktar['DB_title'];
  echo '<li><a href="#">'.$title.'</a></li>';
  }

?>
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#3
muratveb dedi: ↑
Şöyle dene bir


<?PHP
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");
  While($aktar = mysql_fetch_assoc($sql)){
  $id               = $aktar['DB_id'];
  $title            = $aktar['DB_title'];
  echo '<li><a href="#">'.$title.'</a></li>';
  }

?>
o zamanda bu Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\wamp\www\blog\index.php on line 72 hatayı verdi.
2009'den beri2.197 mesaj
#4
LadyArch3r dedi: ↑
o zamanda bu Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\wamp\www\blog\index.php on line 72 hatayı verdi.
O hatayı vermemesi lazım .


<?PHP 
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5"); 
  While($aktar = mysql_fetch_assoc($sql))
  { 
  $id               = $aktar['DB_id']; 
  $title            = $aktar['DB_title']; 
  echo '<li><a href="#">'.$title.'</a></li>'; 
  } 

?>


ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#5
muratveb dedi: ↑
O hatayı vermemesi lazım .


<?PHP 
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5"); 
  While($aktar = mysql_fetch_assoc($sql))
  { 
  $id               = $aktar['DB_id']; 
  $title            = $aktar['DB_title']; 
  echo '<li><a href="#">'.$title.'</a></li>'; 
  } 

?>


hocam halısın ilk verdiğinizde ?> tagını unutmuşum fakat 2 sindede aynı sorun devam ediyor.

2009'den beri2.197 mesaj
#6
LadyArch3r dedi: ↑
hocam halısın ilk verdiğinizde ?> tagını unutmuşum fakat 2 sindede aynı sorun devam ediyor.

Yukardaki tabloda 'id' diye bir alan yokki ? int var ? Neden id çekmişsiniz sql ile ?

Doğrusu bu olcak şimdi;

  
<?PHP  
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");  
  While($aktar = mysql_fetch_assoc($sql)) 
  {  
  $int              = $aktar['int'];  
  $title            = $aktar['title'];  
  echo '<li><a href="#">'.$title.'</a></li>';  
  }  

?>  
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#7
muratveb dedi: ↑
Yukardaki tabloda 'id' diye bir alan yokki ? int var ? Neden id çekmişsiniz sql ile ?

Doğrusu bu olcak şimdi;

  
<?PHP  
  $sql              = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");  
  While($aktar = mysql_fetch_assoc($sql)) 
  {  
  $int              = $aktar['int'];  
  $title            = $aktar['title'];  
  echo '<li><a href="#">'.$title.'</a></li>';  
  }  

?>  
dostum çok sağol sende olmasan.iletişime geçsem aslında senle :)
2009'den beri2.197 mesaj
#8
Her daim burdayım. Elimden geldğince bilgim yettiği kadar yardımcı olurum hocam ne demek yeterki faydam olsun biraz da olsa :) Kolay gelsin.
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#9
muratveb dedi: ↑
Her daim burdayım. Elimden geldğince bilgim yettiği kadar yardımcı olurum hocam ne demek yeterki faydam olsun biraz da olsa :) Kolay gelsin.
çok sağol :)
2009'den beri2.197 mesaj
#10
Rica ederim ama yukarda gözden kaçırdığım bir şey var.

$sql = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");

değil,

$sql = mysql_query("SELECT * FROM articless ORDER BY int DESC LIMIT 0,5");

olmalıydı. Bu gözümden kaçmış sonradan fark ettim. Bilginiz olsun. İyi geceler iyi çalışmalar.
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#11
muratveb dedi: ↑
Rica ederim ama yukarda gözden kaçırdığım bir şey var.

$sql = mysql_query("SELECT * FROM articless ORDER BY id DESC LIMIT 0,5");

değil,

$sql = mysql_query("SELECT * FROM articless ORDER BY int DESC LIMIT 0,5");

olmalıydı. Bu gözümden kaçmış sonradan fark ettim. Bilginiz olsun. İyi geceler iyi çalışmalar.
ben halletim hocam sağol :)
2007'den beri6.903 mesaj
#12
Sorguları çalıştırıp çıktıları aldıktan sonra mysql_free_result($sql); komutunu çalıştırarak RAM'i boşaltıp sunucuyu rahatlatmak iyi olur. Nitekim script çalışma zamanı sonuna kadar sorgu sonuçları birikeceğinden, bu işlemi yapmak performansa katkı sağlar.
2011'den beri11 mesaj
#13
Çözümü bulmuşsunuz zaten ama; aşadığın problemde, gözden kaçan hataları görebilmek için,

mysql_query fonksiyonunu çalıştırdıktan sonra, echo mysql_error(); dersen, query'de bir hata varsa hatayı basacaktır. Aldığın hata query'de bir hata olduğu zaman oluyor.
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#14
<div id="main">	
        <?PHP
        $sql = "SELECT * FROM articless ORDER BY id desc LIMIT 0,3" ;  
  $query = mysql_query($sql);
  while($aktar=mysql_fetch_assoc($query)){
    $id     =$aktar['id'];
    $title  =$aktar['title'];
    $tarih  =$aktar['date']; 
    $articles =$aktar['acticles'];
    $hit     =$aktar['hit']; 
  
?>	
		
		
			<div class="post">
			
				<a name="TemplateInfo"></a>	
				<h1><?php echo $title; ?></h1>
				<p><?php echo $articles; ?></p>
                
				
				<p class="post-footer align-right">					
					<a href="index.php?id=<?php echo $id; ?>" class="readmore">[....]Devamı</a>
					<a href="index.html" class="comments">Okunma <?php echo $hit; ?></a>
					<span class="date"><?php echo $date;?></span>	
				</p>
				
			</div>
			<br />
		<?php
        }
        ?>




_________________



Çözemediğim bir hata daha arkadaşlar.

---------- Post added at 13:00 ---------- Previous post was at 11:17 ----------

hatayı çözdüm herkese teşekkür ederim.
2011'den beri11 mesaj
#15
$query = mysql_query($sql);

Bu satırdan sonra echo mysql_error(); yazmanı tavsiye ederim. Onu yazdığında SQL ile alakalı hataları ayrıca yazacaktır. Çözmeni hızlandırır.
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#16
<?PHP
        $id = $_GET['id'];
        if(isset($id)){
            $sql = "Select * From articless where id=$id";
            } 
            else {
        
        $sql = "SELECT * FROM articless ORDER BY id desc LIMIT 0,3" ;  
  }
  $query = mysql_query($sql);
  while($aktar=mysql_fetch_assoc($query)){
    $id         =$aktar['id'];
    $title      =$aktar['title'];
    $date       =$aktar['date']; 
    $articles   =$aktar['articles'];
    $hit        =$aktar['hit']; 
  
?>	


Notice: Undefined index: id in C:\wamp\www\blog\index.php on line 177

hatası alıyorum arkadaşlar.bulamadım hatayı
2009'den beri2.197 mesaj
#17
LadyArch3r dedi: ↑
<?PHP
        $id = $_GET['id'];
        if(isset($id)){
            $sql = "Select * From articless where id=$id";
            } 
            else {
        
        $sql = "SELECT * FROM articless ORDER BY id desc LIMIT 0,3" ;  
  }
  $query = mysql_query($sql);
  while($aktar=mysql_fetch_assoc($query)){
    $id         =$aktar['id'];
    $title      =$aktar['title'];
    $date       =$aktar['date']; 
    $articles   =$aktar['articles'];
    $hit        =$aktar['hit']; 
  
?>    
Notice: Undefined index: id in C:\wamp\www\blog\index.php on line 177

hatası alıyorum arkadaşlar.bulamadım hatayı
Sql ile çektiğiniz ve $id'ye atadığınız kısmı farklı bir değişken ismine atayn sanırım ondan öyle bir hata alıyorsunuz. Tam olarak içerik ne bilmiyorum ama aklıma gelen o oldu. Çünkü üsttede alttada id'ye bişey atamaya çalışmıssınız. Alttakini $idd olarak değiştirip bir deneyin.

<?PHP
        $id = $_GET['id'];
        if(isset($id)){
            $sql = "Select * From articless where id=$id";
            } 
            else {
        
        $sql = "SELECT * FROM articless ORDER BY id desc LIMIT 0,3" ;  
  }
  $query = mysql_query($sql);
  while($aktar=mysql_fetch_assoc($query)){
    $idd        =$aktar['id'];
    $title      =$aktar['title'];
    $date       =$aktar['date']; 
    $articles   =$aktar['articles'];
    $hit        =$aktar['hit']; 
  }
?>    
gibi.

Ve programın While döngüsünü kapatmayı unutmayın. Yazdığınız programda } süslü parantezi kapatmamışsınız :) Onuda kapatın .
ddddddddddd Konuyu açan
2011'den beri1.851 mesaj
#18
hocam çözdüm hata değil uyarıymış başına @koydum gitti.blog kodluyorum bu arada.
2009'den beri2.197 mesaj
#19
LadyArch3r dedi: ↑
hocam çözdüm hata değil uyarıymış başına @koydum gitti.blog kodluyorum bu arada.
Evet tabi üstteki id atanmazssa undefined hatasına düşer. Yada boş olduğu durumlarda. Her sayfalama konusunda Get ile veri çekerken boş olma ihtimalinden bende sürekli hata bastırma kodu koyuorum. İyi yapmışsınz.
2007'den beri6.903 mesaj
#20
Oradaki uyarı, söz konusu dizi elemanının olmadığını söylüyor; yani aslında çok önemli bir uyarı. @ operatörü ile sadece hata bastırılmış olur; onun yerine index neden atanmamış bunu tespit edip o hatayı çözmek daha iyi olacaktır. Yoksa yazıların ID'si alınamadığı için ileride işlem yaparken başka hatalarla karşılaşırsın.

Yapman gereken, URL ile bir ID geçilip geçilmediğini kontrol etmek. Şu satırın üstüne:
        $id = $_GET['id'];


Şunu yapıştırman uyarıyı kaldıracaktır:
        if (isset($_GET['id']))

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.