2013-02-11 39 views
6

mysql के concat फ़ंक्शन का उपयोग कर mysql में किसी मौजूदा मान में टेक्स्ट जोड़ने का प्रयास कर रहा है?CONCAT फ़ंक्शन का उपयोग कर mysql कॉलम में मौजूदा मान में जोड़ें?

इसलिए मौजूदा मूल्य वर्तमान में 'जॉन' है और समारोह 'johnewvalue'

मैं टेक्स्ट का एक हिस्सा जोड़ने के लिए कोशिश कर रहा हूँ हो जाएगा समाप्त हो गया है के बाद: मौजूदा पाठ, जिसमें मेरे विषय कॉलम में है 'उत्तर दें' मेरा डेटाबेस ptb_messages।

मैं इस mysql का उपयोग concat समारोह है, लेकिन क्या इतना कभी भी किसी भी परिणाम नहीं मिल रहा im करने के लिए कोशिश कर रहा हूँ।

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT subject, 'newvalue' WHERE id='".$message_id."'"); 

कोई मुझे कृपया जो कुछ भी करना चाहता है उसे प्राप्त करने का एक तरीका दिखा सकता है। धन्यवाद।

+0

अमान्य 'CONCAT' वाक्य रचना की तरह लग रहा .. आप कुछ कोष्ठकों होना चाहिए। [** कृपया, नए कोड ** में 'mysql_ *' फ़ंक्शंस का उपयोग न करें **] (http://bit.ly/phpmsql)। वे अब बनाए रखा नहीं जा रहे हैं [और आधिकारिक तौर पर बहिष्कृत हैं] (http://j.mp/XqV7Lp)। [** लाल बॉक्स **] (http://j.mp/Te9zIL) देखें? के बारे में [* तैयार बयान *] जानें (http://j.mp/T9hLWi) के बजाय, और प्रयोग [पीडीओ] (http://php.net/pdo) या [MySQLi] (http://php.net/ mysqli) - [इस अनुच्छेद] (http://j.mp/QEx8IB) आप जो निर्णय लेने में सहायता करेगा। – Kermit

उत्तर

16

यह होना चाहिए

UPDATE ptb_messages 
SET subject = CONCAT(subject, 'newvalue') 
WHERE ... 
पीएचपी

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT(subject, 'newvalue') WHERE id='".$message_id."'"); 

एक sidenote के रूप में

, क्वेरी SQL Injection साथ कमजोर है अगर मूल्य (रों) variab के लेस बाहर से आया था। कृपया इसे रोकने के तरीके के बारे में जानने के लिए नीचे दिए गए लेख पर एक नज़र डालें। PreparedStatements का उपयोग करके आप मूल्यों के चारों ओर सिंगल कोट्स का उपयोग करने से छुटकारा पा सकते हैं।

+0

धन्यवाद क्या आप जानते हैं कि मैं इसे केवल एक बार चलाने के लिए कैसे प्राप्त कर सकता हूं? –

+0

* केवल एक बार चलाने * से आपका क्या मतलब है? –

+0

अच्छी तरह से जब उपयोगकर्ता किसी उपयोगकर्ता को यह संदेश देता है तो यह संदेश देता है: विषय शीर्षक के बाद उत्तर दें, लेकिन यदि: उत्तर मौजूद है तो विषय छोड़ दें और इसमें शामिल न करें: किसी और बार उत्तर दें। –