आप जिस MySQL खाते का उपयोग कर रहे हैं, उसमें शायद एक पुराना 16 वर्ण लंबा पासवर्ड (हैश) है।
आप एक MySQL क्लाइंट (जैसे HeidiSQL, MySQL कंसोल क्लाइंट या कोई अन्य क्लाइंट) और एक ऐसे खाते के साथ इसका परीक्षण कर सकते हैं, जिसकी एक्सेस है करने के लिए mysql
.user
टेबल। यदि पासवर्ड फ़ील्ड में 16 वर्ण हैं तो यह एक पुराना पासवर्ड है और mysqlnd
MySQL सर्वर से कनेक्ट करने के लिए इसका उपयोग नहीं कर सकते हैं।
आप उस उपयोगकर्ता के लिए एक नया पासवर्ड सेट कर सकते हैं
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
देखें dev_mysql_set_password
संपादित करें:
आपको यह भी जांचना चाहिए कि क्या सर्वर डिफ़ॉल्ट रूप से पुराने पासवर्ड का उपयोग/निर्माण करें
.
संपादित करें2:
कृपया क्वेरी चलाएँ
SELECT
Length(`Password`),
Substring(`Password`, 1, 1)
FROM
`mysql`.`user`
WHERE
`user`='username'
5.0.22 सर्वर पर (वह जो "असफल" है)। username
बदलें उस खाते से जिसका उपयोग आप mysql_connect() में कर रहे हैं।
इससे क्या लाभ होता है?