PDA

View Full Version : سوال: خطای Undefined variable



mosi2007
جمعه 21 آبان 1395, 16:32 عصر
سلام دوستان بعد از چند سال دوباره دارم شروع میکنم به یادگیری مجدد php
مشکل اول من عوض شدن دستورات MYSQL است خب دارم کم کم MYSQLI یاد میگیرم و سایتی که قبلا داشتم رو با مای اسکیولی بازنویسی میکنم
این کد تو نسخه های قبلی ومپ مشکلی نداشت ولی الان مرتب خطا میده ممنون میشم اصلاح کنید


<?php

ob_start();
session_start();

$db = new mysqli("localhost","root","","upload"); if($db->connect_errno)

{

echo $db->connect_errno;

}

function get_rand()

{

$images = array();

$result = $db->query("SELECT * FROM images"); print_r($result);

}

$images=get_rand();

?>


اینم خطا ها
Notice: Undefined variable: db in C:\wamp64\www\index.php on line 20

Fatal error: Call to a member function query() on null in C:\wamp64\www\index.php on line 20

مهرداد سیف زاده
جمعه 21 آبان 1395, 18:06 عصر
بحث scope در کد هست.
درون function اگر قصد دارید از متغیر بیرونی تعریف کنید که قصد شما همون متغیر public هست باید درون function نوع متغیر رو global تعریف کنید. کد خودتون رو بصورت زیر تغییر بدید


function get_rand()

{
global $db;
$images = array();

$result = $db->query("SELECT * FROM images");
print_r($result);

}