Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक गैर-वस्तु पर एक सदस्य समारोह को कॉल करें - पीएचपी

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

कुछ ऐसा लौटा रहा है जो कोई वस्तु नहीं है।

तो मैं

print_r($movie)

लाइन 2 पर और देखें कि मुझे क्या मिल रहा है।

दूसरी अजीब बात है:

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

बाईं ओर आप एक सरणी के रूप में $movie का उपयोग कर रहे हैं और दाईं ओर आप इसे एक ऑब्जेक्ट के रूप में उपयोग कर रहे हैं और फिर आपने उस पैरामीटर को भेजा है जिसका उपयोग आप एक सरणी के रूप में $movie['id'] करते हैं।

तो:

यदि आपको एक सरणी मिल रही है, तो सरणी में फ़ंक्शन नहीं हो सकते हैं, फ़ंक्शन एक वर्ग के बाहर होना चाहिए और इसे इस तरह कहा जाएगा:

getRating($movie['id']) 

इसके बजाय

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

यदि आपको कोई ऑब्जेक्ट मिल रहा है, और ऑब्जेक्ट फ़ंक्शन को लागू करता है

getRating($movie_id)

तो वस्तु के गुणों तक पहुँचने का तरीका है:

$movie->rating and $movie->id

मैं मान रहा हूं कि संपत्तियों को सार्वजनिक घोषित किया गया है। हालांकि इसे करने का यह सही तरीका नहीं है... गुण निजी होने चाहिए और आपको इस तरह की वस्तुओं के गुणों के लिए गेटर्स और सेटर्स लागू करना चाहिए:

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

इस मामले में रेटिंग प्राप्त करने के लिए, उपयोग करें

 $movie->get_rating();

और रेटिंग के लिए एक मान निर्दिष्ट करने के लिए, लागू करें

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

और इस तरह मान निर्दिष्ट करें:

$movie->set_rating($some_rating);

पता नहीं अगर मैंने मदद की या सब कुछ और अधिक भ्रमित कर दिया:एस लेकिन मुझसे सवाल पूछने में संकोच न करें :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूआरएल को फिर से लिखें, आईडी को क्वेरी स्ट्रिंग में शीर्षक के साथ बदलें

  2. MySQL CONVERT_TZ ()

  3. डुप्लिकेट कुंजी अद्यतन पर INSERT के लिए Java MySQL executeUpdate () क्या लौटाता है?

  4. mysqli_query के साथ अजाक्स फॉर्म सत्यापन

  5. मैसकल डीबी को फिर से कैसे सिंक करें यदि मास्टर और दास के पास मैसकल प्रतिकृति के अलग-अलग डेटाबेस हैं?