Tài khoản MySQL bạn đang sử dụng có thể có một mật khẩu (băm) 16 ký tự cũ.
Bạn có thể kiểm tra điều đó với một ứng dụng MySQL (như HeidiSQL, ứng dụng MySQL console hoặc bất kỳ ứng dụng nào khác) và một tài khoản có quyền truy cập tới mysql
. user
bàn. Nếu trường Mật khẩu chứa 16 ký tự thì đó là mật khẩu cũ và mysqlnd
không thể sử dụng nó để kết nối với máy chủ MySQL.
Bạn có thể đặt mật khẩu mới cho người dùng đó bằng
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
chỉnh sửa:
Bạn cũng nên kiểm tra xem máy chủ có được đặt thành sử dụng / tạo mật khẩu cũ theo mặc định
.
edit2:
Vui lòng chạy truy vấn
SELECT
Length(`Password`),
Substring(`Password`, 1, 1)
FROM
`mysql`.`user`
WHERE
`user`='username'
trên máy chủ 5.0.22 (máy chủ "không thành công"). Thay thế username
bằng tài khoản bạn đang sử dụng trong mysql_connect ().
Điều đó trả lại gì?