Neden verilen alıyorum argüman geçerli MySQL result resource hata değildir

3 Cevap

Burada belli bir sayfada bloglar görüntülemek çalışıyorum benim kod:

<?php
$query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' LIMIT 6" && "ORDER BY `date` DESC, `time` DESC ";

$request = mysql_query($query,$connection);

while($result = mysql_fetch_array($request)) {
	echo "<div class='OldBlogs round_10px'>";
	echo "<div class='blogIcon'>";
	echo "<a href='http://www.blah.org/BlogProfile.php?id=".$result['id']."'>";
	echo "<img src='http://www.blah.org/styles/images/blogIcon.png' border='0'/>";
	echo "</a>";
	echo "</div>";
	echo "<div class='recentBlogTitles'>";
	echo "<a href='http://www.blah.org/BlogProfile.php?id=".$result['id']."'>";
	echo stripslashes($result['blogTitle']);
	echo "</a>";
	echo "<br />";
	echo "<span class='recentBlogdate'>";
	echo "on " . date("M d, Y",strtotime($result['date']));
	echo "</span>";
	echo "</div>";
	echo "</div>";
}

?>

ve ben bu hatayı alıyorum:

Not: satır 118 olan while($result = mysql_fetch_array($request)) {

Warning: mysql_fetch_array (): verilen argüman on line / home/content/l/l/0/blah/html/BlogProfile.php geçerli bir MySQL sonuç kaynak değil 118

3 Cevap

SQL hataları içermiyorsa görmek için mysql_query sonucunu kontrol ediniz. Örneğin Eğer böyle hatayı yazdırabilirsiniz:

// Check result
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);

}

Lütfen Sorgu dizesi "&&" kısmı şüpheli görünüyor. yeterli. Neden bunu tırnak kullandınız? Şimdi Bu sorgu dizesi bir parçası değil. Sorgunuzun kaçışa edin. Bu deneyin:

$query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' LIMIT 6 && ORDER BY `date` DESC, `time` DESC ";

Lütfen SQL sonu sorundur.

$query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' LIMIT 6" && "ORDER BY `date` DESC, `time` DESC ";

Olmalı

$query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' ORDER BY `date` DESC, `time` DESC LIMIT 6";
 $query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' LIMIT 6" && "ORDER BY `date` DESC, `time` DESC ";

Muhtemelen olmalı

 $query = "SELECT * FROM `Blogs` WHERE `Author` = '".$prof->id."' && `id` != '" . mysql_real_escape_string($_GET['id']) . "' && `status` = 'active' ORDER BY `date` DESC, `time` DESC  LIMIT 6";