Когда используется следующий код без 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); ?>
Вы рискуете инъекциями MySQL. Никогда не вставляйте данные непосредственно в базу данных без какой-либо проекции. Это серьезный риск для безопасности. Также используйте mysqli_real_escape_string и обратите внимание, что ваш $ _POST [веб-сайт] не защищен.
Кроме того, ваша ошибка означает, что данные вашей базы данных неверны.
Нет, вы не должны смешивать mysql и mysqli.
Используйте здесь вместо mysql_real_escape_string($var)
:
$con->real_escape_string($var);
Пример рабочего кода, который является решением этой проблемы, доступен здесь:
http://www.w3schools.com/php/func_mysqli_real_escape_string.asp
mysqli_real_escape_string
этого попробуйте mysqli_real_escape_string
.
Сначала необходимо подключиться к базе данных, прежде чем использовать Предупреждение: mysql_real_escape_string ()