मैं Postgresql + PHP का उपयोग करता हूं।
मेरे पास यह तालिका है:
पुस्तकें (आईडी, शीर्षक, वर्ष)
और PHP में इस शीर्षक के शीर्षक:
$ titles = array ("bible", " कफका "," एली की पुस्तक ");
अब मैं उन सभी पंक्तियों को अद्यतन करना चाहता हूं जहां शीर्षक शीर्ष $ $ शीर्ष पर है।
तो मुझे इस तरह एक क्वेरी की आवश्यकता है:
पुस्तकों को अद्यतन करें SET year = '2001-11-11' WHERE शीर्षक शीर्षक $ में है;
क्या एक एकल प्रश्न के साथ संभव है? या मुझे लूप का उपयोग करने की आवश्यकता है?
यह संभव है, आप वास्तव में बहुत करीब थे।
एसक्यूएल के लिए, सिंटैक्स इस तरह दिखता है:
पुस्तकों को अपडेट करें SET year = '2001-11-11' WHERE शीर्षक IN ('bible', 'kafka', 'book एली के ');
PHP का उपयोग करने के लिए, आप ऐसा कुछ करना चाहते हैं:
$ query = "पुस्तकों को अपडेट करें SET year = '2001-11 -11 'WHERE शीर्षक IN ('। 'Implode ("', '", $ शीर्षक)। "'); '';
PHP implode ()
फ़ंक्शन स्ट्रिंग का उपयोग करके सरणी तत्वों को जोड़ता है, इसलिए मैंने उन सभी के बीच ','
डाल दिया है, प्रारंभिक और अंतिम '
मैन्युअल रूप से स्ट्रिंग में डाला जा रहा है।
ध्यान दें कि यह वर्तमान में विफल हो सकता है यदि कोई भी शीर्षक में एपॉस्ट्रॉफी है यदि यह एक संभावना है तो आपको उन लोगों से बचने की आवश्यकता होगी।
Comments
Post a Comment