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

मेरा फ़ोरैच लूप अपेक्षानुसार काम क्यों नहीं कर रहा है?

mysqli_query() एक सरणी या सरणी ऑब्जेक्ट वापस नहीं करता है जिसे आप foreach() के साथ उपयोग कर सकते हैं। mysqli_query() का रिटर्न प्रकार एक संसाधन है। आप इसे अपने दूसरे समाधान की तरह एक लूप में लाते हैं।

जबकि () के बजाय ():

. का उपयोग करना आसान है
$cast_list = mysqli_query($dblink, $sql);
while ($role = mysqli_fetch_assoc($cast_list)) {
    echo "<tr><td width='50%'>".$role['appeared_as']."</td>";
}

लूप स्वचालित रूप से समाप्त हो जाएगा जब परिणाम सेट के अंत में प्राप्त की गई पंक्ति NULL है। आपको लूप से पहले पंक्तियों की संख्या जानने की आवश्यकता नहीं है।

अपनी टिप्पणी दें:

कुछ तथ्यों को देखने के बाद , मुझे यह स्वीकार करना होगा कि ऊपर दिया गया मेरा उत्तर पूर्णतः सत्य नहीं है। या PHP के कुछ संस्करणों के लिए सही नहीं है।

PHP 5.4 में, एक mysqli_result संसाधन जोड़ा गया Iterator कार्यक्षमता, आप वास्तव में कर सकते हैं इसे foreach() . में उपयोग करें . लेकिन आपका होस्ट स्पष्ट रूप से PHP के पुराने संस्करण का उपयोग करता है।

सबसे अच्छा अभ्यास सभी . के एक ही संस्करण पर विकसित करना है सॉफ़्टवेयर जिसे आप परिनियोजित करेंगे, ताकि आप इस प्रकार के आश्चर्य में न फंसें।




  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. SQL काउंटर और रिटर्नर, परिणाम को दोगुना करता है

  3. मैसकल इंडेक्स कॉन्फ़िगरेशन

  4. php, mysql - डेटाबेस त्रुटि के लिए बहुत अधिक कनेक्शन

  5. एक समग्र कुंजी से mysql विदेशी कुंजी संदर्भ