PDA

View Full Version : مبتدی: خطای نامفهوم mysql_fetch_row()



mostafa272
پنج شنبه 24 فروردین 1391, 08:43 صبح
با سلام

من تو قسمت جستجوی سایتم یه ارور به خود رو می بینم که هر چی چک می کنم نمی دونم اشکال از چیه:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\amlak-motors\search.php on line 459

اینم کد قسمتی که این خطا رو میده:


<?php
$conn2 = mysql_connect('localhost','root','');
if(isset($_POST['submit3']))
{

$meterage2=$_POST['meterage2'];
$tedadbar2=$_POST['tedadbar2'];
$javaz2=$_POST['javaz2'];
$mosharekat2=$_POST['mosharekat2'];
$address2=$_POST['address2'];
$price2=$_POST['price2'];
if(!$javaz2){$javaz2="ندارد";} else {$javaz2="دارد";}
if(!$mosharekat2){$mosharekat2="ندارد";} else {$mosharekat2="دارد";}
$sql2="SELECT * FROM zamin";
$queryTemp2 = '';

if($meterage2) $queryTemp2 .= ($queryTemp2?' or ':'')." `meterage`='$meterage2' ";
if($tedadbar2) $queryTemp2 .= ($queryTemp2?' or ':'')." `tedadbar`='$tedadbar2' ";
if($javaz2) $queryTemp2 .= ($queryTemp2?' or ':'')." `javaz`='$javaz2' ";
if($mosharekat2) $queryTemp2 .= ($queryTemp2?' or ':'')." `mosharekat`='$mosharekat2' ";
if($address2) $queryTemp2 .= ($queryTemp2?' or ':'')." `address`LIKE'%$address2%' ";
if($price2) $queryTemp2 .= ($queryTemp2?' or ':'')." `price`='$price2' ";

$sql2 .= ($queryTemp2?" WHERE $queryTemp":'');

mysql_select_db('amlak',$conn2);

$bbb = mysql_query($sql2,$conn2) ;

}


?>
<form dir="rtl" action="<?php echo $_SERVER['$PHP_SELF'];?>" method="post" style="cursor: auto; border-left: 1; border-bottom: 1; border-right: 1; border-top: 1; border-style: dotted; border-bottom-width: medium; border-top-width: medium; border-right-width: medium; border-left-width: medium; background: transparent url(bg_ltr2.jpg) no-repeat fixed top;">

<table class="blog" cellpadding="0" cellspacing="0" align="center">
<br />
<tr>
<td></td>
<td colspan="3" ><b><center>جستجوي زمين</center></b></td>

<td></td>
</tr>
<tr>
<td width="70" style="padding-top:20px" >متراژ</td>
<td width="30" style="padding-top:20px" ><input name="meterage2" style="color:#000000" maxlength="7" size="5" /></td>
<td width="50" style="padding-top:20px" ></td>
<td width="80" style="padding-top:20px" > تعداد بر (کوچه)</td>
<td width="50" style="padding-top:20px" ><input name="tedadbar2" style="color:#000000" size="5" maxlength="1" /></td>
</tr>
<tr>
<td style="padding-top:20px">جواز ساخت</td>
<td style="padding-top:20px"><input type="checkbox" name="javaz2" /></td>
<td style="padding-top:20px"></td>
<td style="padding-top:20px">آمادگي براي مشارکت</td>
<td style="padding-top:20px"><input type="checkbox" name="mosharekat2" /></td>
</tr>
<tr>
<td style="padding-top:20px"></td>
<td colspan="2" style="padding-top:20px" >قيمت هر متر مربع</td>
<td style="padding-top:20px"><input name="price2" style="color:#000000" size="10" /></td>
</tr>
<tr>
<td style="padding-top:20px"><center>آدرس</center></td>
<td style="padding-top:20px"></td>
<td colspan="3" style="padding-top:20px"><textarea name="address2"></textarea></td>

</tr>
<tr>
<td colspan="2" style="padding-top:20px;padding-bottom:20px"><input type="submit" class="button" name="submit3" align="left" value=" جستجو " /></td>

<td style="padding-top:20px;padding-bottom:20px">&nbsp;</td>
<td colspan="2" style="padding-top:20px;padding-bottom:20px" ><input type="reset" class="button" name="" value="پاک کردن فرم" /></td>

</tr>

</table>

</form>
<table dir="rtl" class="blog" cellpadding="0" cellspacing="0" align="center" border="2" style="border:solid;font-size:12px">
<tr>
<td>متراژ </td>
<td>تعداد بر</td>
<td>جواز</td>
<td>مشارکت </td>
<td>برق</td>
<td>تلفن</td>
<td>آب</td>
<td>گاز </td>
<td>قيمت </td>
<td>آدرس </td>
<td>توضيحات</td>

</tr>
<?php if(isset($bbb))
{while($ss= mysql_fetch_row($bbb)) { ?>
<tr>
<td><?php echo($ss[1]); ?></td>
<td><?php echo($ss[2]); ?></td>
<td><?php echo($ss[3]); ?></td>
<td><?php echo($ss[4]); ?></td>
<td><?php echo($ss[5]); ?></td>
<td><?php echo($ss[6]); ?></td>
<td><?php echo($ss[7]); ?></td>
<td><?php echo($ss[8]); ?></td>
<td><?php echo($ss[9]); ?></td>
<td><?php echo($ss[10]); ?></td>
<td><?php echo($ss[11]); ?></td>



</tr> <?php }
}
mysql_close($conn2); ?>

MMSHFE
پنج شنبه 24 فروردین 1391, 10:57 صبح
این خطا نامفهوم نیست. دوست عزیز در اجرای کدهای شما مشکلی پیش اومده که باعث شده Query درست اجرا نشه و لذا یک Resource معتبر برای نتیجه اجرای Query هم نداشته باشین. با دستور زیر خطای تولیدشده رو به نمایش در بیارین ببینیم مشکل از کجاست:

echo mysql_error();
این دستور رو بعد از دستورات mysql_query توی کدتون بنویسید.

mostafa272
پنج شنبه 24 فروردین 1391, 12:47 عصر
اون دستور خیلی کمک کرد،چون فهمیدن یه جای رشته تقاضای sql مورد داره که مشکل از $queryTemp2?" WHERE $queryTemp" بود.2 داخل رشته جا مونده بود!