2013-04-18 6 views
5

मैं PHP में नौसिखिया हूं।PHP चेतावनी: अवैध स्ट्रिंग ऑफ़सेट

> पीएचपी चेतावनी:: एक PHP 5.4.4 संस्करण (डेबियन खरखरा को डेबियन निचोड़) और, इस के बाद, मैं Apache लॉग से यह त्रुटि मिलना 5.3.3 से आज माइग्रेट की गई अवैध स्ट्रिंग ऑफसेट 'phptype' xyz में

लाइन है:

self::$conn[$dsn['phptype']] = $mdb2; 

मैं प्रणाली बहाल करने के लिए मदद की जरूरत है।

+3

मुझे लगता है कि या तो 'स्वयं :: $ conn' या' $ dsn' एक श्रृंखला है। – hek2mgl

+2

'var_dump (self :: $ conn, $ dsn)' –

+4

[अवैध स्ट्रिंग ऑफ़सेट चेतावनी PHP] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/9869150/illegal-string-offset-warning-php) –

उत्तर

0

अवैध ऑफ़सेट प्रकार त्रुटियां तब होती हैं जब आप किसी ऑब्जेक्ट या सरणी को इंडेक्स कुंजी के रूप में किसी सरणी अनुक्रमणिका का उपयोग करने का प्रयास करते हैं। जांचें कि आपकी सरणी उचित है या नहीं।

4
<?php 
$a = 'Hello'; 
echo $a['whatever']; 
?> 

जैसा कि टिप्पणियों में से कुछ लोग कह रहे हैं, ऐसा कुछ करने से शायद उस त्रुटि का कारण बन जाएगा। जैसा कि आप ऊपर दिए गए उदाहरण में देख सकते हैं $a एक सरणी के बजाय एक स्ट्रिंग है। इसका मतलब यह है कि आप इसे किसी कुंजी से नहीं एक्सेस कर सकते हैं (यदि आप स्ट्रिंग में तीसरा अक्षर प्राप्त करना चाहते हैं तो $a[2] करना ठीक होगा)।

आपको यह जांचना होगा कि self::$conn और $dsn वास्तव में तारों की बजाय सरणी हैं। अलवारो जी विकारियो टिप्पणी में कहते हैं, आप चर डंपिंग कर ऐसा कर सकते हैं:

var_dump(self::$conn, $dsn)

संबंधित मुद्दे