2009-11-13 9 views
7

में पूर्ण मान कैसे सम्मिलित करें I MySQL, Apache और Ubuntu 9.04 के साथ ज़ेंड फ्रेमवर्क का उपयोग कर रहा हूं।ज़ेंड: MySQL

मैं इस तरह डेटाबेस में शून्य मान सम्मिलित करने के लिए कोशिश कर रहा हूँ:

$personObj->setPersonId('1'); 
$personObj->setPersonEmail('NULL'); 
$personObj->save(); 

लेकिन 'शून्य' और नहीं शून्य स्ट्रिंग के रूप में डेटाबेस में संग्रहित है।

जब मैं इस का उपयोग करें:

$personObj->setPersonId('1'); 
$personObj->setPersonEmail(NULL); 
$personObj->save(); 

लेकिन कुछ नहीं होता और पिछली प्रविष्टि में कोई बदलाव नहीं है।

MySQL में नल मानों को सम्मिलित करने के लिए मुझे क्या करना चाहिए?

+0

आवंटित कर रहे हैं एकल उद्धरण के बिना? –

+0

जब मैं $ personObj-> setPersonEmail ('NULL') का उपयोग करता हूं; यह स्ट्रिंग के रूप में NULL सम्मिलित करता है। जब मैं $ personObj-> setPersonEmail (NULL) का उपयोग करता हूं; पिछली प्रविष्टि अपरिवर्तित है और कुछ भी नहीं होता है। – NAVEED

+0

किस प्रकार का ऑब्जेक्ट '$ personObj' है? जैसा कि अन्य ने पहले ही कहा है, 'setPersonEmail()' के कार्यान्वयन को जानने के बिना आप यह निर्धारित नहीं कर सकते कि क्या पारित किया जाना है। –

उत्तर

17

आप से कोई भी मान को संशोधित नहीं कर रहे हैं के बाद वे फिर

new $personObj->setPersonEmail(new Zend_Db_Expr('NULL')); 
+1

हाँ यह काम कर रहा है। – NAVEED

+3

यह मेरे लिए भी काम करता था, लेकिन मुझे 'नया Zend_Db_Expr (' NULL ') करना है' –

0

मुझे लगता है कि उद्धरण में न्यूल डालने से यह एक स्ट्रिंग की तरह दिखता है।

मुझे आपकी विधि के बारे में पता नहीं है, लेकिन सीधे डालने के लिए mysql INSERT कमांड, एक NULL के आसपास एकल उद्धरण गलत हैं।

+0

मैंने इस $ personObj-> setPersonEmail (NULL) को भी आजमाया है; पर कुछ नहीं हुआ। पिछली प्रविष्टि अपरिवर्तित है। – NAVEED

+1

यह ** पूरी तरह से ** निर्भर करता है कि 'setPersonEmail()' विधि कैसे काम करती है, फिर, और यह * एक प्रविष्टि * अपडेट करने के लिए मान्य है या नहीं। – pavium

+0

हां यह अद्यतन करता है। जब मैं इस $ personObj-> setPersonEmail ('[email protected] ') का उपयोग करता हूं; यह [email protected] के साथ पिछले डेटाबेस प्रविष्टि को प्रतिस्थापित करता है। लेकिन मेरी समस्या पिछली प्रविष्टि को हटाने और NULL को सम्मिलित करना है यदि कोई उपयोगकर्ता अपना ईमेल पता हटा देता है। – NAVEED

1

पहला विचार सीधे इसके नीचे उद्धरण के बिना शून्य कीवर्ड में गुजर रहा होगा। जैसा कि पैवियम ने कहा, इसके चारों ओर उद्धरण इसे एक स्ट्रिंग में बदल देते हैं।

+0

मैंने इस $ personObj-> setPersonEmail (शून्य) की कोशिश की है; लेकिन कोई भाग्य नहीं है। दरअसल मैं इस प्रविष्टि को अद्यतन कर रहा हूं। डेटाबेस में एक ईमेल पहले से मौजूद है और मैं इसे हटाना चाहता हूं और नल डालना चाहता हूं। – NAVEED

+0

खाली उद्धरणों को आजमा सकते हैं, हालांकि यह संभवतः इसे एक खाली स्ट्रिंग बना देगा। क्या आपने सेट फ़ंक्शन के बजाय कॉलम को अधिक सीधे एक्सेस करने का प्रयास किया है? यानी: $ personObj-> personEmail = null; – Tarka

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