如果我有一个PHP代码,PHP和MySQL用户名与下划线
$db_user = "john_doe";
$db_name = "john_doedata";
$conn = new mysqli('example.com', $db_user, 'johndoespassword', $db_name);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
当我尝试做一个查询,我得到
连接失败:拒绝访问用户“约翰” @'example.com'(使用密码:否)
问题很明显。 PHP仅在下划线之前传递用户名部分。
我该如何解决/解决这个问题?
我无法控制用户名,因此“获取新用户名”不起作用。
using password : NO
暗示我使用了错误的密码,但实际上这是用户john
的错误密码,并且是用户john_doe
的正确密码。
你是否尝试像下面这样跳过下划线john \\ _ doe。我记得它是关于旧的mysql版本b的下划线问题并不完全确定解决方案。 – smozgur
您是否可以尝试查看您是否也遇到了与PDO相同的问题?我在用户名中有'_',并且它能够连接到数据库而没有任何问题。尽管我主要使用PDO。 – Maximus2012
您可以尝试使用单引号'''代替。不确定它实际上会有所作为,但这是我第一次尝试自己。 – phaberest