2013-04-09 5 views
0

Я делал идентификатор загрузки и запроса, чтобы получить изображение после его загрузки. Однако, прежде чем я смогу найти, я могу даже вставить его в мою базу данных MySQL;Невозможно вставить изображение в MySQL

BTW проблема в строке 19, которая является

"$query = "INSERT INTO profilepicture (`id`,`name`,`image`) VALUES ('','".$image_name."','".$image."')";" 

Вот мой код, который я использовал

<?php 
$con = mysqli_connect('127.0.0.1', 'root', '', 'test'); 
$files = $_FILES['uploadProfilePicture']['tmp_name']; 

if(!isset($files)){ 
echo("wrong file"); 
}else 
{ 
$image = file_get_contents($_FILES['uploadProfilePicture']['tmp_name']); 
$image_name = $_FILES['uploadProfilePicture']['name']; 
$image_size = getimagesize($_FILES['uploadProfilePicture']['tmp_name']); 

if($image_size == false) 
{ 
    echo("Thats is not an image"); 
}else 
{ 
    $query = "INSERT INTO profilepicture (`id`,`name`,`image`) VALUES ('','".$image_name."','".$image."')"; 
    if(!$insert = mysqli_query($con, $query)) 
    { 
    echo("problem uploading"); 
    }else 
    { 

     $lastid = mysql_insert_id(); 
     echo "image uploaded.</p> Your Image</p> <img src=getImage.php?id=".$lastid.">"; 
    } 
} 
} 
?> 



<div class="loginCheck"> 
     <div class="profilePicture"> 
      <form action="ProfileImages/FileUpload.php" method="POST" enctype="multipart/form-data"> 
       <input type="file" name="uploadProfilePicture"/> <input type="submit" value="Upload" /> 
      </form> 



     </div> 
    </div> 
+0

какая ошибка вы получаете? – jtheman

ответ

0

Мою ставку у вас есть проблема с этой линией:

$image = file_get_contents($_FILES['uploadProfilePicture']['tmp_name']); 

Попробуйте это вместо:

$image = mysql_real_escape_string(file_get_contents($_FILES['uploadProfilePicture']['tmp_name'])); 

Вам нужно избежать этой строки. Вероятно, в нем есть цитата. Вы должны изучить использование prepared statements.

+0

еще лучше, просто base64_encode данные изображения – Ozzy

0

Как должна строиться эта строка?

"$query = "INSERT INTO profilepicture (`id`,`name`,`image`) VALUES ('','".$image_name."','".$image."')";" 

как указано выше? или:

$query = "INSERT INTO profilepicture (`id`,`name`,`image`) VALUES ('','".$image_name."','".$image."')"; 

Обратите внимание на удаление цитаты до $ и в конце ;?

Смежные вопросы