उस स्क्रिप्ट में गंभीर, डील-ब्रेकिंग समस्याएं हैं। यह सबसे तुच्छ डेटाबेस के अलावा किसी और के लिए काम नहीं करेगा।
- NULL समर्थित नहीं हैं।
- चरित्र सेट को ध्यान में नहीं रखा जाता है।
- तालिका नाम सीमित नहीं हैं।
- केवल तालिकाएँ समर्थित हैं -- दृश्य, संग्रहीत कार्यविधियाँ, ट्रिगर, फ़ंक्शन आदि नहीं।
addslashes()
कोड> वर्ण-सेट सुरक्षित नहीं है ।mysql_query()
सभी को प्री-फ़ेच करता है तालिका से पंक्तियाँ, इसलिए यदि आप लाखों पंक्तियों वाली तालिका को क्वेरी करते हैं, तो आप अपनी PHP मेमोरी सीमा को पार कर जाएंगे।mysql_unbuffered_query()
Use का इस्तेमाल करें बजाय। दूसरे विचार पर, मुझे लगता है कि आप सभी आउटपुट को $रिटर्न में एकत्र करते हैं, इसलिए यह विवादास्पद है।- आपकी त्रुटियों को
@
. के साथ दबाना ऑपरेटर खराब अभ्यास है। त्रुटियों के लिए जाँच करें और एक सूचनात्मक संदेश के साथ शानदार ढंग से विफल हो जाएँ।
mysqldump का उपयोग न करने की आपकी आवश्यकता बेतुकी है।
पहिया को फिर से खोजने के लिए अपने लिए इतना काम क्यों करें, और फिर भी इसे इतना गलत समझें? बस shellexec()
के ज़रिए mysqldump चलाएँ
।
यह भी देखें: