當使用下面的代碼而沒有mysql_real_escape_string時,可以正常工作。我只是想抓住一個可能有教徒的文本字符串。從一個輸入表單格式化並放入mysql表格中。警告:mysql_real_escape_string():拒絕用戶'@'localhost'的訪問(使用密碼:NO)
<?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);
?>
我看到這種類型的問題所有的時間,你應該閱讀[PHP和MySQL的常見數據庫調試](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)。 –
那些是你實際的數據庫連接細節嗎? – andrewsi
您是否考慮過使用預處理語句,而不是轉義$ _POST數據?您正在嘗試轉義公司名稱,但是您直接在您的查詢中發佈['網站']。 –