我需要将包含“@”符号的用户名传递给mysql\u real\u connect函数。然而,mysql api似乎并不喜欢它。我相信“@”必须以某种方式转义,但我找不到任何关于这个的提示。请帮帮我!
jv2fixgn1#
嘿,我回答的基础上,我读了,因为我目前不能评论的问题,所以如果你可以添加你的代码,我可以调试,这将是完美的,然而。我现在唯一的答案是你有没有试过用like语句来传递'@'?有点像;
WHERE username LIKE "@"
不确定是否应该这样做;
WHERE username LIKE "%@%"
因为我现在对sql还不熟悉,正努力从错误中吸取教训。如我之前所说,如果你可以添加你的脚本,这样我就可以调试和重新编辑我的答案,这将是伟大的,谢谢让我知道任何反馈。
vcirk6k62#
谢谢你的回复。我找到了问题的原因-用户名中不是'@'。我使用的mysql客户端库与MySQL8.0的密码哈希算法不兼容。此问题的解决方法如下: ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';
ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';
2条答案
按热度按时间jv2fixgn1#
嘿,我回答的基础上,我读了,因为我目前不能评论的问题,所以如果你可以添加你的代码,我可以调试,这将是完美的,然而。
我现在唯一的答案是你有没有试过用like语句来传递'@'?有点像;
不确定是否应该这样做;
因为我现在对sql还不熟悉,正努力从错误中吸取教训。如我之前所说,如果你可以添加你的脚本,这样我就可以调试和重新编辑我的答案,这将是伟大的,谢谢让我知道任何反馈。
vcirk6k62#
谢谢你的回复。我找到了问题的原因-用户名中不是'@'。我使用的mysql客户端库与MySQL8.0的密码哈希算法不兼容。此问题的解决方法如下:
ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';