PDA

View Full Version : مشکل این کد کوچولو چیه؟



milad_d993
چهارشنبه 22 خرداد 1392, 11:30 صبح
سلام دوستان

میشه بگین مشکل این کد چیه؟؟


<?php
$categoryResult = mysql_query("select * from category",$serverLink);

if (mysql_num_rows($categoryResult) > 0){
echo "
<label>آرشیو موضوعی</label>
<hr color='#C0C0C0' size='1'>";
while ($categoryRecord = mysql_fetch_assoc($categoryResult)){
$categoryId = $categoryRecord["category_id"];
$categoryTitle = $categoryRecord["category_title"];

//$cat = mysql_query("select count(*) from book where category = '$categoryId' or category LIKE '$categoryId,%' or category LIKE '%,$categoryId,%' or category LIKE '%,$categoryId' ",$serverLink);
//$catNum = mysql_fetch_array($cat);
echo "
<a href='index.php?cat=$categoryId'>$categoryTitle ()</a><br>";
}
echo "

<br>";
}
?>


موقع اجرا این خطا رو چاپ میکنه:

Warning: mysql_query(): 4 is not a valid MySQL-Link resource in C:\wamp\www\bookStore\Copy of index.php on line 238

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\bookStore\Copy of index.php on line 240

که خط 238 همون لاین 2 و 240 لاین 4 ایجاستیه تابع هم هست که تو بعضی صفحه ها کار نمیکنه



function redirect ($page){
$s = "<script language='javascript'>
window.location.href='$page'
</script>";
return $s;
}

مخصوصا موقعی که توی صفحه 1 هستم و دوباره میخوام به صفحه 1 برم...
کار نمیکنه...

مهرداد سیف زاده
چهارشنبه 22 خرداد 1392, 13:51 عصر
خطاش مال اتصال با بانکه. در واقع $serverLink که کانکشن دیتابیس هست درست کار نمیکنه. و این به دلیل زیر صورت گرفته:
1- اصلا متغیرش تعریف نشده و با مقدار mysql_connect به بانک متصل نشده
2- متغیر مقدار دهی شده ولی بد فراخوانی شده(مثلا جا به جایی حروف) یا در فایل دیگری هست و باید include بشه

برای رفع مشکل در بالای همین برنامه مقدار serverLink رو برابر اتصال با بانک کن(mysql_connect).



$serverLink = mysql_connect('localhost', 'mysql_user', 'mysql_password');



البته بهتره از mysqli استفاده کنی. راحت‌تره و دستور mysql از php 5.5 دیگه پشتیبانی نمیشه.