Php 拒绝用户访问';取消设置用户名'@';本地主机';(使用密码:否)
我有一些PHP代码,可以使用MySQLi将数据插入MySQL数据库。 PHP代码:Php 拒绝用户访问';取消设置用户名'@';本地主机';(使用密码:否),php,mysql,mysqli,Php,Mysql,Mysqli,我有一些PHP代码,可以使用MySQLi将数据插入MySQL数据库。 PHP代码: function insert_db($lat, $lng, $date, $user){ require('db_info_table.php'); $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_con
function insert_db($lat, $lng, $date, $user){
require('db_info_table.php');
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
return false;
}
$lat = mysql_real_escape_string($lat); // Sanitize data to prevent SQL injection
$lng = mysql_real_escape_string($lng);
$date = mysql_real_escape_string($date);
$user = mysql_real_escape_string($user); // << ERROR
$sql = "INSERT INTO table (lat, lng, date, user)
VALUES ('$lat', '$lng', '$date', '$user')";
if (mysqli_query($conn, $sql)) {
return true;
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
return false;
}
mysqli_close($conn);
}
我发现了这些错误,我很确定一个错误会导致另一个错误mysql_real_escape_string():拒绝用户'unset_username'@'localhost'的访问(使用密码:否)
mysql\u real\u escape\u string():无法在中建立到服务器的链接
这两个错误出现在同一行(请看代码)。似乎您正在使用mysqli库连接到服务器,但随后尝试使用mysql库中的函数来保护字符串。改为使用mysqli\u real\u escape\u string() 它基本上与mysql_real_escape_string()做相同的事情,但需要两个参数:第一个是连接链接,第二个是需要保护的变量。因此,您的代码将如下所示:
$lat = mysqli_real_escape_string($conn, $lat);
$lng = mysqli_real_escape_string($conn, $lng);
$date = mysqli_real_escape_string($conn, $date);
$user = mysqli_real_escape_string($conn, $user);
“改用mysqli\u real\u escape\u string()
”-他们可能不知道该怎么做。最好再多解释一下“如何”使用它
$lat = mysqli_real_escape_string($conn, $lat);
$lng = mysqli_real_escape_string($conn, $lng);
$date = mysqli_real_escape_string($conn, $date);
$user = mysqli_real_escape_string($conn, $user);