جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

حل ارور Notice: Undefined variable: con in


3
0
1594

سلام، اخیرا بنده یه اسکریپت خیلی ساده دارم مینویسم که به یه سری اررور برخوردم که شاید از نظر اساتید خیلی ساده بنظر بیاد. بهرحال من قبلا از دستورات Msql استفاده میکردم و اررور نمیگرفتم ولی متاسفانه چند وقتی هست سمت Php نرفتم و دیدم که مباحث جدید اومده مثل PDO و...اخیرا با تسور Mysqli کار میکنم و یه سری اررور دارم که نمیتونم فیکسشون کنم؛ پر حرفی کردم. مشکلم به این صورت هستش که یه اسکریپت ساده نوشتم که قراره یه سری اطلاعات رو از دیتابیس بیاره واسه یوزر که کد هارو تو دوتا فایل functions.php و catsmanagement.php نوشتم که به این صورت هستش. functions.php:

<?php
//dbs connector
    @$con= mysqli_connect('localhost','root','','accapp') or die('DB connection error');
     @mysqli_set_charset($con, "utf8");
    if(mysqli_connect_errno())
    {
        echo('connection failed');
    }
function admingetcategurise()
{

        $result= mysqli_query($con,'SELECT * FROM categorise');

}
?>

کد های فایل catsmanagement.php :

<?php
    require_once('class/functions.php');

    $result = admingetcategurise();
    while($row=mysqli_fetch_assoc($result))
    {
        echo('<tr class="table-light" style="color: #000000">');
        echo('<th scope="col">'.$row ['id'].'</th>');
        echo('<th scope="col">'.$row ['title'].'</th>');
        $test = $row ['active'];
        if($test= '1')
        {
        echo('<th scope="col"><a href="#"class="btn btn btn-warning">فعال</a></th>');
        }
        else
        {
        echo('<th scope="col"><a href="#"class="btn btn btn-warning">غیرفعال</a></th>');
        }

        echo('<th scope="col"><a href="#"class="btn btn btn-warning">ویرایش</a>  <a href="#"class="btn btn-danger">حذف</a>');
    }

    ?>

و ارور هایی که دریافت میکنم اینها هستن:

Notice: Undefined variable: con in J:\Xamp\htdocs\Accfiles\_Admin\Class\functions.php on line 17
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in J:\Xamp\htdocs\Accfiles\_Admin\Class\functions.php on line 17
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in J:\Xamp\htdocs\Accfiles\_Admin\categorisemanagement.php on line 37

دوستان من مفهوم اررور هارو میدونم فقط نمیتونم حلشون کنم خیلی ممنون میشم کمکم کنید شدیدا سردرگم شدم.

تکنولوژی برنامه-نویسی پی-اچ-پی
ویرایش شده در 5 سال قبل Masoud Cherik
11.1k امتیاز
سوال شده در Masoud Cherik
96 امتیاز

500 کاراکتر باقی مانده

2 جواب

2

جوابی که آقای مرادی براتون نوشتن درسته، ولی برای اینکه از یه روش دیگه هم یاد بگیرید (روش خوبی نیست و کثیف و توصیه نمیشه)، از اونجایی که مشکلتون scope هست - یعنی متغییر $con توی تابع تعریف نشده ولی بیرون از تابع تعریف شده، میتونید به صورت global ازش استفاده کنید. یعنی اینطوری:

$result= mysqli_query(global $con,'SELECT * FROM categorise');

یا اینطوری:

$result= mysqli_query($GLOBALS['con'],'SELECT * FROM categorise');

یه بار دیگه میگم که این روش خیلی کثیفیه و حدالمقدور نباید از global استفاده بشه، چرا که وقتی مقیاس پروژه بزرگ میشه و متغییرها زیاد میشن خیلی دردسرساز میشه. ما استادمون تو دانشگاه اگر جواب یک سوال رو می نوشتیم که توش از روش global استفاده کرده بودیم نمرش رو بهمون نمیداد با اینکه کدمون درست کار میکرد.

جواب داده شده در ساناز رضایی
1366 امتیاز


خانم رضایی اتفاقا قبل از خوندن پاسخ شما از global استفاده کردم و الانم روش آقای مرادی رو ولی در هر دو صورت به این اررور برمیخورم Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in J:\Xamp\htdocs\Accfiles_ Admin\categorisemanageme nt.php on line 38 بازم میگم من اررور رو متوجه میشم ولی چون با متد و دستورات جدید php آشنا نیستم نمیتونم اررور هامو رفع کنم، بهرحال ممنون از توجهتون اگه زحمتی نداره یه مقدار کمک کنید این جریانو رد کنم چون میخام تجربه بشه برام. ــ Masoud Cherik در 5 سال قبل
1
مشکل آخر اررور Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in J:\Xamp\htdocs\Accfiles_ Admin\categorisemanageme nt.php on line 38 هم حل شد فراموش کرده بودم بعد از کوئری دستور return $result رو بزارم. خیلی ممنون که وقت گذاشتین دوستان ــ Masoud Cherik در 5 سال قبل

بله توی تمام توابع php (که void وجود نداره) باید حتما return وجود داشته باشه. جالب اینجاست ک بنده و آقای مرادی هم به این موضع دقت نکرده بودیم. خوشحالم که مشکلتون حل شده و مرسی که با ما هم به اشتراک گداشتید مورد آخر رو ــ ساناز رضایی در 5 سال قبل

500 کاراکتر باقی مانده


3

مشکل اول، شما توی تابع admingetcategurise() از متغییر $con استفاده کردی در حالی که اونو به تابع ارسال نکردی. پس اون خطر رو اینطوری بنویس و بگو بازم ارور میگیری یا نه:

function admingetcategurise($con)
{

        $result= mysqli_query($con,'SELECT * FROM categorise');

}

توی فایل catsmanagement.php هم تابع رو اینطوری صدا بزن:

$result = admingetcategurise($con);
جواب داده شده در سعید مرادی
1933 امتیاز

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


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

تبلیغات توضیحی


داپ اَپ اولین پلتفرم کش‌بک در ایران
اگه میخوای از خریدهایی که میکنی، پاداش نقدی دریافت کنی داپ اَپ رو نصب کن.

تبلیغات تصویری