我用了mysql_real_escape_string(),在我的localhost上(在我的xampp运行的计算机上)没问题,但当我将它上传到 Linux 服务器函数(mysql_real_escape_string())时说访问被拒绝用户'drrifae'@'localhost'
这是我的代码:
if($_POST['message']!=""){
$email=$_POST['email'];
$name=$_POST['name'];
$message=mysql_real_escape_string($_POST['message']);
$ip=$ip = getenv('HTTP_CLIENT_IP')?:
getenv('HTTP_X_FORWARDED_FOR')?:
getenv('HTTP_X_FORWARDED')?:
getenv('HTTP_FORWARDED_FOR')?:
getenv('HTTP_FORWARDED')?:
getenv('REMOTE_ADDR');
include('../include/connection.php');
$sql="INSERT INTO `contact_feedback` (`type`, `ip`, `message`, `name`, `email`) VALUES ('$type', '$ip', '$message', '$name', '$email'); ";
$result=mysql_query($sql,$con) or die(mysql_query());
if($result){
echo $_SESSION['message']='true';
$mailMessage=wordwrap($message,70);
$mailMessage.='\n \n'.$email.'\n'.$name.'\n \n'.$ip;
if($type=='1'){
$subject="contact";
}else if($type=='0'){
$subject="feedback";
}
mail('info@rifae.com',$subject,$mailMessage,$email);
}else{
$_SESSION['message']='false';
}
}
但我不能使用mysql_real_escape_string()
答案 0 :(得分:0)
$message=mysql_real_escape_string($_POST['message']);
//...
include('../include/connection.php');
您目前使用mysql_real_escape_string()
之前include
连接 - 这就是您无权访问的原因。
另请注意,mysql_*
函数为officially deprecated,因此不应在新代码中使用。您可以使用PDO或MySQLi。有关详细信息,请参阅this answer on SO。 (如果你按照帖子中的链接,你也会找到关于如何使用的教程。)
mysql_
既不是MySQLi也不是PDO,您应该可以通过phpinfo()
查看哪些内容可用。