PDA

View Full Version : سوال: رفع مشکل select تودرتو



soroush.r70
پنج شنبه 06 بهمن 1390, 11:38 صبح
دوستان من از select تودرتو استفاده کردم ولی این خطا رو می ده را حل چیه

کد : $resultSet = mysql_query("select * from comment order by date_added asc where id=(select id from tbl_tritext where id=$id)");


خطا :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in H:\xampp\htdocs\26\func.php on line 1418

mahmod2000
پنج شنبه 06 بهمن 1390, 11:41 صبح
تو خوده دیتابیس از طریق SQL این کد رو بزن ببین از چی خطا میگیره

soroush.r70
پنج شنبه 06 بهمن 1390, 12:06 عصر
نه تست کردم حل نشد راه دیگه

mohsen24000
پنج شنبه 06 بهمن 1390, 13:08 عصر
ببخشید! از کی تا حالا عبارت where بعد از order میاد!؟


$resultSet = mysql_query("select * from comment where id in (select id from tbl_tritext where id=$id) order by date_added ");

soroush.r70
پنج شنبه 06 بهمن 1390, 13:12 عصر
نه آقا این خطا ول بکن نیست

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in H:\xampp\htdocs\26\func.php on line 1418

mohsen24000
پنج شنبه 06 بهمن 1390, 13:30 عصر
پیغام خطای این تابع mysql_num_rows کجای برنامه اتفاق میوفته!؟

soroush.r70
پنج شنبه 06 بهمن 1390, 15:54 عصر
آقا این کد کلی مشکلو حل کنی که عالی میشه


function showtribune()
{
$resultSet = mysql_query("select * from comment where id in(select * from tbl_tritext where id=$id) order by date_added asc");
if(mysql_num_rows($resultSet))
{
while($resultRow = mysql_fetch_array($resultSet))
{
$name = stripslashes($resultRow['name']);
$comment = stripslashes($resultRow['comment']);
$date = $date_added = date($resultRow['date_added']);

echo'<div class="comment_holder">
<div id="comment_text"><div id="date_posted"><b style="color:#FF0;">='.$name.'&nbsp;&nbsp;گفته است:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;='.$dat e.'</div>='.$comment.'</div></div>';
}
}
else
{
echo '<span class="no_comments" dir="rtl" style="text-align:center; padding-left:150px;">هنوز هیچ نظری ثبت نشده است.</span>

</div>
<table border="0" cellpadding="4" cellspacing="0" class="comment_table">
<tr>
<td>نام و نام خانوادگی:</td>
<td><input type="text" name="name" id="name" size="30" style="color:#333;"></td>
</tr>
<tr>
<td>پست الکترونیک:</td>
<td><input type="text" name="email" id="email" dir="ltr" size="30" style="color:#333;"></td>
</tr>
<tr>
<td valign="top">نظر شما :</td>
<td><textarea name="comment" id="comment" rows="5" cols="30" style="color:#333;"></textarea></td>
</tr>
<tr>
<td></td>
<td align="center"><input type="button" value="ثبت بحث" id="submit" style="color:#000; cursor:pointer;">&nbsp;<img src="images/loading.gif" id="loading"></td>
</tr>
</table>';
}
}

mohsen24000
پنج شنبه 06 بهمن 1390, 18:33 عصر
مشکل شما الان در subQuey هست. بجای * بایستی نام یک فیلد رو مشخص کنید. تا با خطا در اجرای کوئری مواجه نشید. چون در اینصورت به دستور mysql_num_rows برسید دچار خطا خواهید شد.
بهتره از این شرط استفاده کنید تا دقیقا ایراد کوئری رو پیدا کنید


if(!$resultSet){die(mysql_error();}