PDA

View Full Version : سوال: این اررور برای چیه؟



css-man
یک شنبه 23 مهر 1391, 17:01 عصر
من یه تابع دارم که آی دی ادمین رو میگیره

یه تابع هم نوشتم که بر حسب اون آی دی اطلاعات ادمین رو از دیتابیس بخونه اما وقتی اجراش میکنم
این ارور رو میده



Warning: mysql_query() expects parameter 2 to be resource, null given in D:\xampp\htdocs\project\function\database.php on line 15

Warning: mysql_error() expects parameter 1 to be resource, null given in D:\xampp\htdocs\project\function\database.php on line 22


هر دو ارور از تابعی هست که کوئری اجرا میکنه که ساختارش اینجوریه



function runQuery($q)
{
global $db;
$r=mysql_query($q,$db);
if($r)
{
return $r;
}
else
{
die(mysql_error($db));
}
}






اینم اون تابعی هست که وقتی اجراش میکنم این ارور ایجاد میشه



function getAdminInfo($id)
{
$q="SELECT * FROM `admin_users` WHERE `id`='$id'";
$r=runQuery($q);
if($r)
{
//query run
return $r;
}
else
{
echo mysql_error();
}
}

tehro0n
یک شنبه 23 مهر 1391, 20:00 عصر
اینجوری که نمیشه پاسخ داد، باید ببینیم ورودی ها چی هستند، لطفا متغیرهایی که مربوط به این تابع هستند رو بیاورید، و این که این خط ها دقیقا کجای تابع است

azowghi
یک شنبه 23 مهر 1391, 20:45 عصر
سلام
به جای این:

$q="SELECT * FROM `admin_users` WHERE `id`='$id'";

باید بنویسی:

$q="SELECT * FROM `admin_users` WHERE `id`='".$id."'";

css-man
یک شنبه 23 مهر 1391, 20:56 عصر
اینجوری که نمیشه پاسخ داد، باید ببینیم ورودی ها چی هستند، لطفا متغیرهایی که مربوط به این تابع هستند رو بیاورید، و این که این خط ها دقیقا کجای تابع است

با این تابع ادی کاربر رو میگیرم
میریزم تو متغیر و بعد متغیر رو ارسال میکنم به تابع بالا


$id=getVar("adminId");


اینم ساختار تابع getvar




function getVar($key)
{
return $_SESSION[$key];
}

css-man
یک شنبه 23 مهر 1391, 20:57 عصر
سلام
به جای این:

$q="SELECT * FROM `admin_users` WHERE `id`='$id'";

باید بنویسی:

$q="SELECT * FROM `admin_users` WHERE `id`='".$id."'";



مرسی از راهنمائیت اما ربطی به اون قسمت نداره

css-man
یک شنبه 23 مهر 1391, 21:29 عصر
وقتی تابع getAdminInfo($id) رو فراخانی میکنم
از تابع runQuery ایراد میگیره

در حالی که این تابع موقع لاگین داره درست کار میکنه

css-man
دوشنبه 24 مهر 1391, 13:31 عصر
دوستان کسی نمیدونه مشکل از چیه؟؟؟

tehro0n
سه شنبه 25 مهر 1391, 01:37 صبح
من الان دیدم که شما string رو جای ID ارسال کردید!
مگه نمی گی آی دی ؟ چجوری عدد رو گرفتی ؟

$id=getVar("adminId");
این که داره متن adminId رو ارسال می کنه!

در مورد پاسخ پاسخ دوستمون هم باید بگم چرا برخی جاها اون مورد ربط پیدا می کنه، اگه می خواهی کوئری خودت حتما باشه حداقل اینجوریش کن

$q="SELECT * FROM `admin_users` WHERE `id`='{$id}'";

فقط یک مساله مهم هم هست که اگه آی دی شما عدد هست نباید از '' استفاده کنی و اینجوری بشه

$q="SELECT * FROM `admin_users` WHERE `id`={$id}";

css-man
سه شنبه 25 مهر 1391, 11:31 صبح
مشکل از اینی که شما گفتی هم نبود اون تابع هم درست کار میکنه و سشن ارسال میکنه

مشکل از تابع کانکتم بود که تو این فایل فراخوانی نشده بود
مرسی از وقتی که گذاشتید
ممنون