Ошибка синтаксиса SQL (версия сервера: 5.6.17 – MySQL)

Не могли бы вы, ребята, рассказать мне, чего не хватает в этом коде. потому что я получаю ошибку синтаксиса SQL.

Я создал таблицу с тремя колонками. ID – автоинкремент, а тип изображения – Blob

как я думаю, проблема возникает при вставке $ image

вот ошибка ——- >> «У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« # ~ I 27W » ? Hl : o : ӏvm5V Ό '`V 'в строке 1 "

<?php if (isset($_POST["Upload"])) { include("DbConnection.php"); $file = $_FILES['image']['tmp_name']; if(!isset($file)) { echo 'Please Select a File'; } else { $image = file_get_contents($_FILES['image']['tmp_name']); $img_name = $_FILES['image']['name']; $img_size = getimagesize($_FILES['image']['tmp_name']); if ($img_size == false) { echo 'it is not a image'; } else { $query = mysqli_query($Con, "INSERT INTO `cars_tbl` (ID,Name,Image) VALUES ('','$img_name','$image')"); if (!$query) { echo 'Error Executing Query '.mysqli_error($Con); } else { $last_ID = mysqli_insert_id($Con); echo "Image Uploaded. <p /> Your Image : <p /> <img src='get.php?ID=".$last_ID."'" ; } } } //else } // 1st IF else { echo 'Fill the details'; } ?> 

Вы забыли обернуть $img_name в '

 $query = mysqli_query($Con, "INSERT INTO `cars_tbl` (ID, Name, Image) VALUES ('', '$img_name', '$image')"); 

Проблема в том, что вы сохраняете, по-видимому, blob в базу данных, не избегая ее.

Вы должны понимать, что происходит в вашей команде: данные изображения, которые также могут содержать «потому что они бинарные», недействительны для вашей команды SQL.

Правильный способ сохранения:

1)

Либо с подготовленными заявлениями

2)

 mysqli_query($Con, "INSERT INTO `cars_tbl` (ID, Name, Image) VALUES ('', '$img_name', '".mysqli_escape_string($image)."')"); 

Я бы предпочел Подготовленные заявления. Другой вопрос: почему вы устанавливаете ID пустой строки.

Вы пытаетесь вставить значение '$ img_name' в качестве имени, а не имени img_name. Попробуйте следующее:

  $query = mysqli_query($Con, "INSERT INTO `cars_tbl` (ID,Name,Image) VALUES ('','" . $img_name . "','" . $image . "')");