mysql_real_connect中包含“ @”符号的用户名

时间:2018-07-04 11:43:12

标签: mysql escaping username

我需要将包含'@'符号的用户名传递给mysql_real_connect函数。但是,似乎MySQL API不喜欢它。我认为必须以某种方式转义“ @”,但我找不到有关此的任何提示。请帮忙!

2 个答案:

答案 0 :(得分:0)

嘿,我正在根据我所读的内容作答,因为我目前无法评论问题,因此,如果您可以添加代码,以便我可以调试,那将是完美的。

我目前唯一的答案是您是否尝试过类似的语句来传递“ @”? 像这样的东西

WHERE username LIKE "@"

不确定是否应该;

WHERE username LIKE "%@%" 

由于我是SQL的新手,因此正试图从错误中学习。如我之前所述,如果您可以添加脚本,以便我可以调试和重新编辑我的答案,那将是非常不错的,谢谢,让我知道任何反馈。

答案 1 :(得分:0)

感谢您的回复。我发现了问题的原因-用户名中不是“ @”。我使用的MySQL客户端库与MySQL 8.0的密码哈希算法不兼容。这是解决此问题的方法:

ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';