我在php中使用mysql_real_escape_string()使用html php form在mysql数据库中插入数据。但是在提交时它会出现错误'警告:mysql_real_escape_string():无法建立到服务器的链接'但没有使用mysql_real_escape_string()表单正确提交。 我的PHP代码是
<?php
if(isset($_POST['add']))
{
require_once('nikhil.php');
$bookname=$_POST['bookname'];
$discription=mysql_real_escape_string($_POST['discription']);
$price=$_POST['price'];
$dir='';
$uploadDir = '';
$fileName = $_FILES['photo']['name'];
$filePath = $uploadDir . $fileName;
if(move_uploaded_file($_FILES["photo"]["tmp_name"],"uploads/".$_FILES["photo"]["name"]))
{
$query_image = "INSERT INTO letDo (photo,bookname,price,discription,publicationName) VALUES ('$filePath','$bookname','$category','$releases','$price','$discription')";
if(mysqli_query($con,$query_image))
{
echo "Stored in: " . "xyz.co " . $_FILES["image"]["name"];
}
else
{
echo 'File name not stored in database';
}
}
else{echo 'File not uploaded';}
}
?>
答案 0 :(得分:1)
如果您没有使用mysql_connect连接到数据库,那么您不应该使用mysql_real_escape_string。如果你这样做,那么它将使用php.ini中的默认参数(你当前看到的结果)尝试连接到数据库。看起来你正在使用mysqli,它是一个完全不同的扩展,并且有自己的转义函数 - mysqli_real_escape_string。请改用它。