2010-01-15 12 views
5

के अंदर PHP कोड कैसे संग्रहीत कर सकता हूं मैं एक छोटी सी PHP/mysql स्क्रिप्ट बनाने पर काम कर रहा हूं जो एक WordPress ब्लॉग की तरह कुछ कार्य करेगा लेकिन केवल मेरी आंखों के लिए PHP कोड स्निपेट स्टोर करने के लिए एक छोटी सी साइट होगी। तो मेरे पास श्रेणियां और फिर नमूने कोड वाले पृष्ठ होंगे जिन्हें मैं जावास्क्रिप्ट सिंटैक्स हाइलाइटर के साथ लिखता हूं। फ़ाइल में मेरे PHP कोड स्निपेट को संग्रहीत करने के बजाय मैं उन्हें mysql डीबी में सहेजना चाहता हूं। तो PHP को mysql में सहेजने और पृष्ठ पर दिखाने के लिए इसे mysql से बाहर निकालने का सबसे अच्छा तरीका क्या है?मैं एक mysql तालिका

मेरे अंतिम परिणाम इस
alt text http://img2.pict.com/c1/c4/69/2516419/0/800/screenshot2b193.png की तरह कुछ हो जाएगा


अद्यतन:

मैं सिर्फ अगर मैं mysql करने के लिए इसे भेजने से पहले के बाद से कुछ कोड के लिए विशेष करने की जरूरत है यकीन नहीं था इसमें

+0

एर ... क्या आप जानते हैं पीएचपी निर्मित एक वाक्य रचना हाइलाइटर है? http://php.net/highlight-string – Powerlord

+0

मुझे आपका प्रश्न समझ में नहीं आया है। क्या आप एक MySQL डेटाबेस से कुछ स्टोर और पुनर्प्राप्त करने के लिए पूछ रहे हैं? –

उत्तर

3

यदि आप किसी प्रकार का डेटाबेस अबास्ट्रक्शन लेयर का उपयोग नहीं कर रहे हैं, तो बस टेक्स्ट पर mysql_real_escape_string पर कॉल करें।

+0

बढ़िया यह है कि मैं क्या सोच रहा था – JasonDavis

+0

क्या mysql_real_escape_string' mysql 'text' डेटाटाइप के साथ आवश्यक है? –

10

में सभी प्रकार के वर्ण हैं, जैसे कि text फ़ील्ड में बस स्टोर करें। उससे परे ज्यादा नहीं।

+1

क्या mysql_real_escape_string' mysql 'text' डेटाटाइप के साथ आवश्यक है? –

2

क्या आप php कोड खोज सकते हैं? यदि ऐसा है, तो मैं MyISAM तालिका प्रकार का उपयोग करने की अनुशंसा करता हूं क्योंकि यह full text indexes (InnoDB नहीं करता) का समर्थन करता है। जब fulltext इंडेक्स की बात आती है तो कॉलम प्रकार के लिए आपके विकल्प char, varchar और text हैं। मैं text के साथ जाऊंगा क्योंकि आपके कोड स्निपेट अन्य प्रकार के लिए बहुत लंबा हो सकता है।

उल्लेख करने के लिए एक और बिंदु, यह सुनिश्चित कर लें कि आप इसे सम्मिलित करने से पहले सभी PHP कोड (या उस मामले के लिए कोई भी मूल्य) से ठीक से बचें। ऐसा करने का सबसे अच्छा तरीका पैरामीटरयुक्त प्रश्नों का उपयोग करके है।

+0

डाउनवॉटिंग नहीं। लेकिन अगर यह सच है तो यह शर्म की बात है कि MySQL में केवल MyISAM पूर्ण टेक्स्ट इंडेक्स का समर्थन करता है। इसका मतलब है कि आपको लेनदेन, रेफरेंसियल अखंडता खोना होगा ... – ChristopheD

+0

@ क्रिस्टोफेड: तो सच है। InnoDB में 'fulltext' समर्थन देखना अच्छा लगेगा। – Asaph

+0

अब समर्थित है :) –

0

जब तक मैं समस्या का हिस्सा नहीं खो रहा हूं, तो आपको इसे एक MySQL डेटाबेस में टेक्स्ट फ़ील्ड के रूप में सुरक्षित रखना चाहिए। बस बिल्कुल सुनिश्चित करें आप कोड स्निपेट को स्वच्छ करते हैं, क्योंकि PHP कोड विशेष रूप से उन अक्षरों को शामिल करने की संभावना है जो SQL स्ट्रिंग से बच जाएंगे। (यदि आप पहले से ही एक एसक्यूएल फ्रेमवर्क का उपयोग कर रहे हैं, तो बाधाएं आपके लिए यह कर रही हैं।)

0

डेटाबेस में टेक्स्ट (वर्कर) के रूप में स्टोर करें।

कोड प्रारूपित करने के लिए कैस्केडिंग स्टाइल शीट (सीएसएस) का उपयोग करें।

http://qbnz.com/highlighter/

0

इस प्रयास करें:

mysql select ... 

eval('?>' . $row['phpcode'] . '<?php '); 
संबंधित मुद्दे