Как правильно вставить Input type = "file" в качестве типа данных LONGBLOB в phpmysql с версией XAMPP 1.8.2? - PullRequest
0 голосов
/ 23 октября 2018

Итак, мне сказали, что вставка типа ввода file не может быть такой простой, как обычный ввод строки.

Кроме того, я видел этот веб-сайт, но я думаю, что код используется для сервера XAMPP другой версии, потому что он использовал «mysqli», в то время как моя версия не принимает синтаксис mysqli.

Вот мой код для вставки в базу данных MySQL:

if(isset($_POST['submit'])){
$pid = mysql_real_escape_string($_POST['productID']);
$productName = mysql_real_escape_string($_POST['productName']);
$productImg = mysql_real_escape_string($_POST['productImg']);       **[Possible problem in This Part]**

$insert = mysql_query("INSERT INTO products (productID, productName, productImg) VALUES ('$pid', '$productName', '$productImg')");

if($insert)
{
    echo 'Successfully added new record.';
} else {
        echo 'Failed to add new record because '.mysql_error();
       }

Моя HTML-форма для загрузки изображения выглядит следующим образом:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="1">
  <tr>
    <b><td colspan="2"><h2>Insert new Product</h2></td></b>
  </tr>
  
  <tr>
    <td>Product ID</td>
    <td><input type="text" name="productID"></td>
  </tr>
  
  <tr>
    <td>Product Name:</td>
    <td><input type="text" name="productName" required></td>
  </tr>
  
  <tr>
    <td>Product Image:</td>
    <td><input type="File" name="productImg" required></td>
  </tr>
 
 <tr>
    <td colspan="2"><input style="color:black; font-weight: bolder; margin-left: 110px; padding-top: 5px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px;" type="submit" name="submit" value="Submit"></td>
  </tr>

</table>
</form>

На основании сайта, который я прикрепил, я обнаружил, что парень использует этот блок кода для вставки изображения:

if(isset($_POST["submit"])){
$check = getimagesize($_FILES["image"]["tmp_name"]);
if($check !== false){
    $image = $_FILES['image']['tmp_name'];
    $imgContent = addslashes(file_get_contents($image));

Когда яреализовал этот блок кода для моего, он получил некоторую ошибку, и я понятия не имею, почему большая часть кода использует ["tmp_name"] this, в своем коде.Пожалуйста, объясните и, если возможно, внесите исправления в мой код.

...