आपके प्रश्न का कोई आसान उत्तर नहीं है क्योंकि व्यावहारिक रूप से ऐसा करने के हर सरल तरीके में आवेदन लिखे जाने पर चीजों को अलग तरीके से करना शामिल है।
यदि आपके पास अपने पूरे कोड में mysql_* फ़ंक्शंस के लिए सीधी कॉल है और कोई डेटाबेस एब्स्ट्रैक्शन लेयर नहीं है जहाँ आप अपने प्रश्नों को एक सहायक वर्ग या फ़ंक्शन के माध्यम से करते हैं तो आपको प्रत्येक कमांड को संपादित करने की आवश्यकता होगी।
आप प्रक्रियात्मक रूप से mysqli_query()
के रूप में mysql_query जैसे आदेशों में i जोड़ने से दूर नहीं हो सकते हैं डीबी के लिंक होने के लिए पहले पैरामीटर की आवश्यकता होती है जहां mysql_query()
. के साथ यदि कोई कनेक्शन बिल्कुल दिया गया था, तो यह दूसरा पैरामीटर था।
केवल mysql_query(...) को mysqli_query($link,.....) में बदलने के बजाय, मैं अनुशंसा करता हूं कि डीबी एब्स्ट्रैक्शन परत को जगह में रखने के लिए कोई बेहतर समय नहीं है। तो फ़ंक्शंस का उपयोग करें जैसे sql_query() जो वास्तव में आपके प्रश्नों को संसाधित करता है ताकि भविष्य में यदि आपको डीबी को फिर से बदलने की आवश्यकता हो तो आप केवल एक अमूर्त फ़ाइल में डीबी विशिष्ट कमांड अपडेट कर सकते हैं। इस तरह यदि आप एक फ़ंक्शन लिखते हैं जो mysqli_query को लपेटता है तो आप अपने mysql_query() को अपने सहायक फ़ंक्शन में आसानी से नाम बदलने में सक्षम हो सकते हैं और सहायक फ़ंक्शन को लिंक डालने के बारे में चिंता करने दें।
जबकि यह सबसे आसान तरीका है, यह पैरामीटर को बाध्य नहीं करेगा या बयान तैयार नहीं करेगा जो एसक्यूएल इंजेक्शन भेद्यता को रोकने में एक प्रमुख कारक है
एक बार जब आप इन सभी आदेशों को बदल लेते हैं तो आपको परीक्षण करने की आवश्यकता होती है।
यदि आपके पास कोई स्वचालित परीक्षण नहीं लिखा गया है तो शायद उन्हें लिखना शुरू करने का यह एक अच्छा समय है। भले ही आपको यह जांचना होगा कि हर बदलाव काम कर गया है, अगर आप इसे स्वचालित परीक्षण से करते हैं तो आप भविष्य में उस दर्द से बच सकते हैं।