मैं एक क्वेरी चला रहा हूं
$ health = mssql_query HEA_ID = '$ HEA_ID' "); और फिर यहाँ फ़ील्ड में से एक को कैप्चर करना:
$ HEA_DocsOnFile = mssql_result ($ स्वास्थ्य, 0, 'HEA_DocsOnFile'); क्षेत्र HEA_DocsOnFile एक bit में sql सर्वर मुझे कैसे पता चलेगा कि HEA_DocsOnFile एक NULL या 0 ? दुर्भाग्य से NULL और 0 ! मैंने भी कोशिश की है:
एक ही मान देता है > $ HEA_DocsOnFile = is_null (mssql_result ($ स्वास्थ्य, 0, 'HEA_DocsOnFile'))? शून्य: mssql_result ($ स्वास्थ्य, 0, 'HEA_DocsOnFile'); $ HEA_DocsOnFile को null सेट करने के लिए और बाद में चेकबॉक्स को चेक करने के लिए सुनिश्चित करने के लिए
और इस तरह से नल नहीं:
& lt;? Php if ($ HEA_DocsOnFile === 0) {गूंज 'चेक' = '' चेक ';; ?} & Gt; भले ही यह वास्तव में शून्य है (जैसा एसक्यूएल सर्वर कम से कम कहता है), यह अभी भी चेकबॉक्स को यह सोचता है कि यह 0 अपडेट करें , मैंने select * करने के बजाय सभी स्तंभों को स्पष्ट रूप से चुना है:
चयन करें ...., [HEA_MOST], [HEA_DNR], isnull (HEA_DocsOnFile, 2) HEA_DocsOnFile से ........... मुझे पता है हालांकि, जब परीक्षण:
& lt;? Php if ($ HEA_DocsOnFile = > = 1) {गूंज 'चेक' = "चेक" '; ?} & Gt; यह वास्तव में बॉक्स की जांच करता है!
मैं क्या कर रहा हूँ गलत?
मैंने वास्तव में एक var_dump ($ HEA_DocsOnFile) किया है; और इसे वापस int (1) यह कैसे हो सकता है? यह नल एसक्यूएल सर्वर में है! मैंने यह भी किया:
चुनें ............, प्रकार को int से बदलने के लिए स्ट्रिंग और उसके बाद एक var_dump किया गया है INull (HEA_DocsOnFile, '2') HEA_DocsOnFile और अभी भी रिटर्न किया गया int (1)
क्या आप वाकई वास्तविक शून्य हैं? पीएचपी के ढीले तुलना नियम याद रखें:
php> $ X = नल; Php & gt; Var_dump ($ x == 0); // सरल गुणवत्ता परीक्षण बूल (सच) पीएचपी & gt; var_dump (is_null ($ x)); // nulls bool (true) php & gt; के लिए सबसे अच्छा तरीका है Var_dump ($ x === 0); // सख्त समता परीक्षा बूल (झूठी) पीएचपी & gt; Var_dump ($ x === नल); बूल (सच) पीएचपी & gt; Var_dump ($ x == नल); बूल (सच) पीएचपी & gt;
No comments:
Post a Comment