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

array_push का उपयोग करते समय त्रुटियां - पहला तर्क एक सरणी होना चाहिए

टिप्पणियों के अनुसार, $products एक सम्मिलित फ़ाइल द्वारा प्रारंभ किया गया था जिसे एक फ़ंक्शन के अंदर शामिल किया गया था। यह वैश्विक स्तर के बजाय, कार्य के दायरे को परिभाषित करता है। तो आपको global $products; . का उपयोग करना होगा कॉल करने से पहले शामिल करें।

function func_that_defined_products() {
  global $products;
  include('file_that_defines_products.php');
}

// Now when called globally later, it will be at the correct scope.


function foo($bar) 
{
    global $products; 
    $query = 'SELECT p_name FROM 0_products WHERE p_category IN (' . $bar . ')';
    // etc...
}

किसी भी मामले में, मुझे $GLOBALS['products'] का उपयोग करना थोड़ा अधिक पठनीय लगता है global . के बजाय खोजशब्द। और हमेशा की तरह, जहां भी संभव हो, वैरिएबल को वैश्विक स्तर पर एक्सेस करने के बजाय किसी फ़ंक्शन में पास करना एक पसंदीदा अभ्यास है।

// If you can, do it this way
function foo($bar, $products) {
  // $products was a param, and so global is unnecessary
}

हालांकि आपके मामले में, यदि सीएमएस इसे परिभाषित करता है तो आप इसे इस तरह करने के लिए लचीलापन खो सकते हैं...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में एक साथ अद्वितीय कुंजी बदलें

  2. आईफोन पर (एल | एम) एएमपी स्टैक कैसे स्थापित करें?

  3. पूरे डेटाबेस में CHARACTER SET (और COLLATION) कैसे बदलें?

  4. सिंक्रोनस नोड.जेएस से प्रश्न

  5. MySQL में दिनांक सीमाओं के ओवरलैप की जाँच करें