什么时候使用以下代码没有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)
不,你不应该混合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]不受保护.
此外,您的错误意味着您的数据库详细信息不正确.
| 归档时间: |
|
| 查看次数: |
38923 次 |
| 最近记录: |