PDA

View Full Version : مشکل در upload



negar_software
جمعه 29 دی 1385, 00:24 صبح
سلام
من یک سایت طراحی کردم ولی وقتی upload شد در قسمت homepage جایی که باید اخبار از
جدول مربوطه خوانده و نوشته شود پیغام خطا می دهد از فرمان mysql_fetch _assoc .
در صورتی که قبل از اینکه upload شود درست عمل می کرد
کسی می دونه اشکال از چیه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
در ضمن من با easy php کار می کنم.

armin390
جمعه 29 دی 1385, 13:42 عصر
حداقل کاری که میتونی بکنی اینه که متن کامل خطا رو اینجا بذاری و کدت رو...
ولی مشکلت به خاطر نتیجه ی mysql_query هست این نتیجه رو چک کن (از mysql_error هم کمک بگیر تا دلیل مشکل رو دریابی)

negar_software
جمعه 29 دی 1385, 17:26 عصر
متن خطا
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/nasim/public_html/index.php on line


کد: $connect=mysql_connect("localhost","root","");
mysql_select_db("site");
$sql="select * from `news` order by id DESC";
$SQL=mysql_query($sql);
$num=0;
while($val=mysql_fetch_assoc($SQL)):
if($num==5){
break;}
else{
echo '<br>'."<a href=\"view.php?Eid=$val[id]\", style=\"text-decoration:none\" target='_blank'>".$val['titr']." ".$val['date']." ".$val['text']."</a>";
$num++;
}
endwhile;
mysql_close($connect);
?>

once4ever
جمعه 29 دی 1385, 17:43 عصر
فکر کنم مقدار SQL$ درست نیست!
دستور select رو درست بنویس. با حروف بزرگ (شاید ربط نداشته باشه)
و بعد از خط

$SQL=mysql_query($sql);
چک کن ببین چندتا رکورد انتخاب کرده

tabib_m
جمعه 29 دی 1385, 20:03 عصر
(از mysql_error هم کمک بگیر تا دلیل مشکل رو دریابی)

negar_software
جمعه 29 دی 1385, 20:31 عصر
دستور ordie mysql_error() را هم امتحان کرده ام ولی هیچ خطایی را نشان نمی دهد
وقتی که دستور mysql_query($sql را echo می کنم پیغام Resource id #2 می دهد
راستی برنامه من در حالت localhost جواب می دهد ولی وقتی که نام local و root و password را تعیین می کنم این error را می دهد .

once4ever
جمعه 29 دی 1385, 20:49 عصر
(این کدی که اینجا نوشتی پر از اشتباه هست!)
کدت رو به این شکل بنویس:

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>
شما برنامه رو رو سرور چک کن و اول مطمئن شو که:
1. کانکت به بانک درست انجام میشه

if (!$connect) {
die('Could not connect: ' . mysql_error());
2. دستور سلکت مقداری رو برمیگردونه

negar_software
جمعه 29 دی 1385, 22:14 عصر
از اینکه گفتید دستور سلکت مقداری رو بر کی گردونه یعنی چه ؟؟؟
یعنی مقدار ی که دستور سلکت برنامه من بر می گردونه اشتباه Resource id #2
دستور query هم مقدار array را برکیگردونه.
متشکرم

armin390
شنبه 30 دی 1385, 13:47 عصر
دستور ordie mysql_error() را هم امتحان کرده ام ولی هیچ خطایی را نشان نمی دهدچطور این کار رو کردی؟ (کدت رو بذار)


وقتی که دستور mysql_query($sql را echo می کنم پیغام Resource id #2 می دهداین نتیجه باید mysql result باشه تا در mysql_fetch* قابل قبول باشه...(var_dump کن)

(در ضمن نتیجه جایی که ازش هشدار می گیری بذار و عین کدت رو تاکید میکنم خود کد رو بذار و داخل تگ کد!)
اصلاح شد

negar_software
شنبه 30 دی 1385, 22:58 عصر
[QUOTE=armin390;299962]چطور این کار رو کردی؟ (کدت رو بذار)

با دستور
mysql(query) or die (mysql_error())

این نتیجه باید mysql result باشه تا در mysql_fetch* قابل قبول باشه...(var_dump کن)

(در ضمن نتیجه جایی که ازش هشدار می گیری بذار و عین کدت رو تاکید میکنم خود کد رو بذار و داخل تگ کد!)
اصلا منظورت را متوجه نشدم میشه کمی دقیق تر بگی. راستی ممکنه اگر در دستور

mysql_select_db("site",$connect)

را ننویسم به این مشکل بر بخورم.

once4ever
یک شنبه 01 بهمن 1385, 00:18 صبح
مهمترین کار اینه که دقیقا کدی که نوشتی رو اینجا بذاری
و حتما هم از تگ code (روی کلید حالت پیشرفته کلیک کن و از این آیکون http://www.barnamenevis.org/forum/images/editor/code.gif استفاده کن )استفاده کن که کدت رو درست نشون بده

درضمن از کدی که یکم بالا نوشتم استفاده کن و فقط مقادیر رو جاگذاری کن. ببین بازم خطا میگیره یا نه!

negar_software
یک شنبه 01 بهمن 1385, 17:56 عصر
سلام





<?
$connect=mysql_connect("localhost","root","");
mysql_select_db("site");
$sql="select * from `news` order by id DESC";
$SQL=mysql_query($sql);
$num_rows=mysql_num_rows($SQL);
while($VAl=mysql_fetch_assoc($SQL)):
if ($num==5){
break;
else{
echo '<br>'."<a href >".$val['titr']
$num++;
}
end while;
mysql_close($connect);

tabib_m
دوشنبه 02 بهمن 1385, 18:55 عصر
به جای کدت این رو بذار.


$connect=mysql_connect("localhost","root","");
mysql_select_db("site");
$sql="select * from `news` order by id DESC";
$SQL=mysql_query($sql) or die(mysql_error());
$num_rows=mysql_num_rows($SQL);
while($VAl=mysql_fetch_assoc($SQL)):
if ($num==5){
break;
}else{
echo '<br>'."<a href >".$val['titr'];
$num++;
}
end while;
mysql_close($connect);



به جای این که برای ایجاد محدودیت تعداد رکورد از $num استفاده کنی ، از دستور limit توی اس کیو ال ت استفاده کن:



$connect=mysql_connect("localhost","root","");
mysql_select_db("site");
$sql="select * from `news` order by id DESC limit 5";
$SQL=mysql_query($sql) or die(mysql_error());
$num_rows=mysql_num_rows($SQL);
while($VAl=mysql_fetch_assoc($SQL)):
echo '<br>'."<a href >".$val['titr'];
end while;
mysql_close($connect);