在php

时间:2016-08-25 04:50:13

标签: php mysql

我在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';}
}
?>

1 个答案:

答案 0 :(得分:1)

如果您没有使用mysql_connect连接到数据库,那么您不应该使用mysql_real_escape_string。如果你这样做,那么它将使用php.ini中的默认参数(你当前看到的结果)尝试连接到数据库。看起来你正在使用mysqli,它是一个完全不同的扩展,并且有自己的转义函数 - mysqli_real_escape_string。请改用它。