警告:mysql_real_escape_string():用户''@ localhost'拒绝访问(使用密码:否)

Den*_*973 5 php mysql forms

什么时候使用以下代码没有mysql_real_escape_string,工作正常.我只是试图抓住可能有背道的文本字符串.从输入表单并格式化它放入mysql表.

    <?php
    $filenamee = $_FILES["file"]["name"];
    $filename =strval($filenamee);
    echo "file name is".$filename;

     $con=mysqli_connect("localhost","blasbott_admin","lubu1973","blasbott_upload");
     // Check connection
     if (mysqli_connect_errno())
       {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }
 $companyName = mysql_real_escape_string($_POST['companyName']);
// $companyName = mysql_real_escape_string($companyNamee);
 //$companyName = mysql_real_escape_string($companyNamee);

$sql="INSERT INTO ads (companyName, webSite, picture)
 VALUES ('$companyName','$_POST[webSite]','$filename')";

if (!mysqli_query($con,$sql))
   {
   die('Error: ' . mysqli_error($con));
   }
   echo"<br>";
 echo "1 record added";

mysqli_close($con);
 ?> 
Run Code Online (Sandbox Code Playgroud)

bwo*_*ebi 9

不,你不应该混合mysql和mysqli.

使用此处代替mysql_real_escape_string($var):

$con->real_escape_string($var);
Run Code Online (Sandbox Code Playgroud)


小智 6

您有遭受MySQL注入的风险.不首先在没有某种投影的情况下直接将数据插入数据库.这是一个重大的安全风险.另请使用mysqli_real_escape_string,并注意您的$ _POST [webSite]不受保护.

此外,您的错误意味着您的数据库详细信息不正确.