Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

PHP और MySQL में 'बूलियन' मानों से कैसे निपटें?

<घंटा/>

हम MySQL संस्करण 8.0.12 का उपयोग कर रहे हैं। आइए पहले MySQL संस्करण की जाँच करें:

<पूर्व>mysql> संस्करण का चयन करें ();+---------------+| वर्जन () |+-----------+| 8.0.12 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)

MySQL में बूलियन से निपटने के लिए, आप BOOL या BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। यदि आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में बदल देता है।

BOOL या BOOLEAN डेटा प्रकार में, यदि आप सच्चे शाब्दिक का उपयोग करते हैं तो MySQL इसे 1 के रूप में और गलत शाब्दिक को 0 के रूप में दर्शाता है जैसे PHP/C/C++ भाषा में।

यह प्रमाणित करने के लिए कि MySQL BOOL या BOOLEAN को TINYINT(1) में बदल देता है, आइए हम BOOLEAN या BOOL कॉलम के साथ एक टेबल बनाते हैं।

यहां, हम कॉलम बूलियन के साथ एक टेबल बना रहे हैं। तालिका बनाने की क्वेरी इस प्रकार है:

mysql> टेबल बनाएं BoolOrBooleanOrTinyintDemo -> (-> आईडी नॉट न्यूल AUTO_INCREMENT, -> isvalidAddress BOOLEAN, -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.74 सेकंड)

अब SHOW CREATE कमांड का उपयोग करके उपरोक्त तालिका के DDL की जाँच करें। क्वेरी इस प्रकार है:

mysql> क्रिएट टेबल दिखाएं BoolOrBooleanOrTinyintDemo\G

निम्न आउटपुट है:

<पूर्व>************** 1. पंक्ति ********** ********** तालिका:BoolOrBooleanOrTinyintDemoCreate तालिका:तालिका बनाएँ `बूलरबूलियनॉर्टिनिनिंटडेमो` (`Id` int(11) NOT NULL AUTO_INCREMENT, `isvalidAddress` tinyint(1) DEFAULT NULL, PRIMARY KEY (`Id`)) इंजन=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 पंक्ति में सेट (0.00 सेकंड)

कॉलम isvalidAddress देखें, डेटाटाइप बूलियन को आंतरिक रूप से टिनिंट (1) में परिवर्तित किया जाता है। अब आप जाँच सकते हैं कि सच्चे शाब्दिक को 1 से और झूठे शाब्दिक को 0 से दर्शाया जाएगा। तालिका में कुछ अभिलेखों को सही और गलत शाब्दिक मानों के साथ डालें। रिकॉर्ड डालने की क्वेरी इस प्रकार है:

mysql> BoolOrBooleanOrTinyintDemo (isvalidAddress) मान (सत्य) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.43 सेकंड) mysql> BoolOrBooleanOrTinyintDemo (isvalidAddress) मान (गलत) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> BoolOrBooleanOrTinyintDemo (isvalidAddress) मान (सत्य) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.29 सेकंड) mysql> BoolOrBooleanOrTinyintDemo (isvalidAddress) मान (गलत) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> BoolOrBooleanOrTinyintDemo में डालें (isvalidAddress) मान(सत्य);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.33 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। सभी रिकॉर्ड प्रदर्शित करने के लिए क्वेरी इस प्रकार है:

mysql> *BoolOrBooleanOrTinyintDemo से चुनें;

निम्न आउटपुट है:

<पूर्व>+----+----------------+| आईडी | isvalidAddress |+----+----------------+| 1 | 1 || 2 | 0 || 3 | 1 || 4 | 0 || 5 | 1 |+----+----------------+5 पंक्तियाँ सेट में (0.00 सेकंड)

उपरोक्त नमूना आउटपुट को देखें, सत्य 1 के रूप में दर्शाता है और झूठा 0 के रूप में दर्शाता है।

PHP में, यदि आप true का उपयोग करते हैं तो इसे 1 के रूप में दर्शाया जाएगा और false को 0 के रूप में दर्शाया जाएगा।

निम्नलिखित PHP कोड को देखें। यहां, मैंने वेरिएबल 'isValidAddress' सेट किया है। मान 1 है, इसका मतलब है कि यह अगर स्थिति का सही मूल्यांकन करता है और केवल कथन के शरीर को निष्पादित करता है। निम्नलिखित कोड की जाँच करें:

$isValidAddress =1;if($isValidAddress){echo 'true' को 'के रूप में दर्शाया गया है; इको ($ isValidAddress);} और {गूंज 'गलत' के रूप में दर्शाया गया है; इको ($ isValidAddress);}

यहाँ कोड का स्नैपशॉट है:

PHP और MySQL में  बूलियन  मानों से कैसे निपटें?

निम्न आउटपुट है:

PHP और MySQL में  बूलियन  मानों से कैसे निपटें?

यदि आप वेरिएबल 'isValidAddress' को 0 के मान में बदलते हैं। इसका मतलब है कि यह if कंडीशन असत्य का मूल्यांकन करता है और केवल अन्य स्टेटमेंट के बॉडी को निष्पादित करता है। निम्नलिखित कोड है:

$isValidAddress=0;if($isValidAddress){echo 'true'' के रूप में दर्शाया गया है; इको ($ isValidAddress);} और {गूंज 'गलत' के रूप में दर्शाया गया है; इको ($ isValidAddress);}

यहाँ कोड का स्नैपशॉट है:

PHP और MySQL में  बूलियन  मानों से कैसे निपटें?

निम्न आउटपुट है:

PHP और MySQL में  बूलियन  मानों से कैसे निपटें?


  1. कैसे अल्पविराम से अलग मूल्यों के साथ MySQL में यादृच्छिक पंक्तियों को लाने के लिए?

    MySQL में यादृच्छिक पंक्तियाँ लाने के लिए, ORDER BY RAND() का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1835 (ListOfIds varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1835 मानों में डालें (98,96,49); क्वेर

  1. मैं एक एकल MySQL क्वेरी वाले कॉलम में एकाधिक मान कैसे सम्मिलित करूं?

    एक कॉलम में कई मान डालने के लिए, सिंटैक्स इस प्रकार है - अपनेTableName मानों में डालें(yourValue1),(yourValue2),.......N; ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.49 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2

  1. PHP के साथ शून्य मान कैसे निकालें?

    PHP में शून्य मान निकालने के लिए, array_filter() का उपयोग करें। यह सरणी मानों को फ़िल्टर करता है। मान लें कि निम्नलिखित हमारी सरणी है - $studentDetails = array("firstName" => "John",  "lastName"=> null); echo "The original value is=";print_r($studen