Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Fungsi Panggilan Ke Anggota Pada Non-Objek - PHP

$movie->getByPerma($perma,$language); 

mengembalikan sesuatu yang bukan objek.

Jadi saya akan

print_r($movie)

di baris 2 dan lihat apa yang saya dapatkan.

Hal aneh kedua ada di:

$movie['rating'] = $movie->getRating($movie['id']);

Di sisi kiri Anda menggunakan $movie sebagai array dan di sisi kanan Anda menggunakannya sebagai objek dan sekali lagi Anda mengirim parameter yang Anda gunakan $movie['id'] sebagai array.

Jadi:

Jika Anda mendapatkan array, array tidak dapat memiliki fungsi, fungsi tersebut harus berada di luar kelas dan akan dipanggil seperti ini:

getRating($movie['id']) 

bukannya

$movie->getRating($movie['id']).

Jika Anda mendapatkan objek, dan objek tersebut mengimplementasikan fungsi

getRating($movie_id)

maka cara mengakses property dari objek tersebut adalah :

$movie->rating and $movie->id

Saya berasumsi bahwa properti dinyatakan publik. Ini bukan cara yang benar untuk melakukannya... Properti harus bersifat pribadi dan Anda harus mengimplementasikan getter dan setter untuk properti objek seperti ini:

 private $rating;
 public function get_rating()
{
  return $this->rating; 
}

Dalam hal ini untuk mendapatkan peringkat, gunakan

 $movie->get_rating();

Dan untuk memberi nilai pada peringkat, terapkan

  public function set_rating($r)
  {
     $this->rating=$r; 
  }

Dan berikan nilai seperti ini:

$movie->set_rating($some_rating);

Entah apakah saya membantu atau membuat semuanya lebih membingungkan :S tetapi jangan ragu untuk bertanya kepada saya :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ikat 3 tabel dalam 2 kasus berbeda di MySQL

  2. Bagaimana cara mengubah waktu dalam detik ke format HH:MM:SS di MySQL?

  3. Pengecualian di utas utama com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Anda memiliki kesalahan dalam sintaks SQL Anda

  4. Ulangi penyisipan Query di PHP

  5. Bagaimana cara menghentikan MySQL dari menduplikasi entri setiap kolom dalam array yang dikembalikan?