بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

خطای get property of non-object

مدیریت گفتگو
Hamedmtn 10 سال پیش
آخرین تغییر: 9 سال پیش

دروود

توی قسمت آخر از فصل دوم آموزشاتاستاد برای اتصال پی اچ پی به دیتابییس از یک سورس استفاده میکنن. من توی متود qurry به خطا خوردم که هر چقدر بررسی میکنم نمیتونم علت رو پیدا کنم (همه چیز رو کاملا درست پیاده کردم)

متود querry :

 public function querry($sql){
$result = $this->connection->query($sql);
$result;

if($result->num_rows == 0){//error line
return null;
}

while($rows = $result->fetch_assoc()){//error line
$records[] = $rows;
}
return $records;
}

که به خطای زیر بر میخورم:

نظرات

پاسخ‌ها 2

کاشی زاده 10 سال پیش

خطا به این خاطر هست که در یک خط بالاتر از خط ارور شما به جای اینکه بنویسید :

 $records = array();

نوشتید  :

$result;

 

نظرات

bivatan 9 سال پیش

 منم همین مشکل رو دارم . همه چیز درسته .اما خطای  non-object  میده !

<?
class Db {
private $connection;

public function __construct($option = null){
if ($option !=null){
$host = $option['host'];
$user = $option['user'];
$pass = $option['pass'];
$name = $option['name'];
} else {
global $config;
$host = $config['db']['host'];
$user = $config['db']['user'];
$pass = $config['db']['pass'];
$name = $config['db']['name'];
}

$this->connection = new mysqli($host, $user, $pass, $name);
if ($this->connection->connect_error) {
echo "Connection failed: " . $this->connection->connect_error;
exit;
}

$this->connection->query("SET NAMES 'utf8'");
}

public function first($sql){
$records = $this->query($sql);
if ($records == null){
return null;
}

return $records[0];
}

public function query($sql){
$result = $this->connection->query($sql);
$records = array();

if ($result->num_rows == 0) { // از این خط ایراد میگیره!
return null;
}

while($row = $result->fetch_assoc()) {
$records[] = $row;
}

return $records;
}

public function connection(){
return $this->connection;
}

public function close(){
$this->connection->close();
}
}

نظرات

سجاد عباسی 9 سال پیش
خطایی در query های شما هست. کد درسته فقط باید یه قسمت دیگه ارور کوری هم نشون بده بهش اضافه بشه که در ادامه اموزش ها اضافه میشه...
bivatan 9 سال پیش
اضافه کردم اما خطا همچنان پا برجاست !
bivatan 9 سال پیش
حل شد . خطای کوئری از جدول دیتابیس بود که به جای user_id نوشته بودم user-id .. ممنون آقای عباسی .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .