2011-06-18 13 views
9

मैं mySQL में एक कॉलम में "NULL" का मान भेजना चाहता हूं।आप PHP से SQL तक एक चर के रूप में NULL कैसे भेजते हैं?

$ParentEventID = "NULL"; 

    mysql_query("UPDATE events SET 
    ParentEventID = '$ParentEventID'"); 

कॉलम "0" पर डिफ़ॉल्ट रहता है। मेरे पास कॉल स्वीकार करने के लिए कॉलम सेट है और मैं सेल को पूर्ण चेक बॉक्स के साथ संपादित कर सकता हूं।

मुझे डिफ़ॉल्ट को डिफ़ॉल्ट पर सेट करने की आवश्यकता नहीं है क्योंकि यह अन्य स्थानों पर कोड को प्रभावित कर सकता है।

+0

+1 एक प्रश्न के लिए जो एक एफएक्यू जैसा लगता है लेकिन मैंने इसे पहले कभी नहीं देखा है। –

उत्तर

15

आप "NULL" एक स्ट्रिंग बनाने के दाहिने ट्रैक पर हैं। यदि आपको इसे NULL सेट करने की आवश्यकता है, तो $ParentEventID के आसपास qoutes को हटा दें।

mysql_query("UPDATE events SET ParentEventID = $ParentEventID"); 

हालांकि, ऐसा करने से पहले $ParentEventID === NULL का यकीन है कि मूल्य बनाते हैं।

+0

बढ़िया! उसने ऐसा किया तो ... उद्धरणों को हटाकर वास्तव में क्या हो रहा है? -ओके मुझे लगता है कि उद्धरण इसे एक स्ट्रिंग बनाते हैं। धन्यवाद दोस्तों। मैं आपका उत्तर स्वीकार करूंगा जब एसओ मुझे 10 मिनट में – Joel

+0

में क्या हो रहा है यह है कि एसक्यूएल में शून्य शून्य "नल" नहीं है, लेकिन कीवर्ड 'न्यूल' है। तो आप क्वेरी में उद्धरण के बिना, डाल दिया। वैसे ही आप 'अद्यतन' कीवर्ड के आसपास उद्धरण नहीं डालते हैं। याद रखें, आप वास्तव में कुछ भी "भेजना" नहीं कर रहे हैं: आप केवल एक PHP स्ट्रिंग में एक SQL क्वेरी बना रहे हैं। सिंगल-कोट्स को हटाकर –

+3

@ जोएल, स्ट्रिंग 'न्यूल' को MySQL कीवर्ड 'NULL' के रूप में पास किया गया है। यदि आप सिंगल-कोट्स को 'नूल' के रूप में रखते हैं, तो MySQL इसे स्ट्रिंग मान के रूप में व्याख्या करता है। यदि यह एक पूर्णांक कॉलम या बूलियन कॉलम में जा रहा है, तो मुझे लगता है कि इसे '0' मान के रूप में व्याख्या किया जा रहा है। –

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