2014-03-25 2 views
-1

문제가 발생했습니다. 문제이다 :(. 나는 하나 개의 사이트에서 그 코드를 가지고있다. 나도 몰라. 데이터베이스도 확인하고 코드해야합니다. 사람이 잘못 무엇인지 말씀해 주시겠습니까?PHP를 사용하여 데이터베이스에 이미지 업로드 :

 <?php 
     include 'config.php'; 
     session_start(); 
     if(isset($_POST['button_upload_image'])){ 
     $username=$_SESSION['username']; 
     $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); //SQL Injection defence! 
     $image_name = addslashes($_FILES['image']['name']); 
     $sql = "INSERT INTO `images` (`image`, `image_name`,`username`)VALUES('$image', '$image_name','$username')"; 
     if (!mysql_query($sql)) { // Error handling 
      echo "Something went wrong! :("; 
     } 
     } 
     ?> 
     <!DOCTYPE html> 
     <html> 
      <head> 
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
      </head> 
      <body> 
       <?php 
        include $main_directory.'parts/header_admin.php'; 
       ?> 
       <?php 
        include $main_directory.'parts/slider.php'; 
       ?> 
       <?php 
        include $main_directory.'parts/bottom_menu_hidden.php'; 
       ?> 
     <div class="center_all"> 
     <div class="all_content"> 
     <div class="images_gallery"> 
     <form method="POST" enctype="multipart/form-data"> 
      <label>File: </label> 
      <input type="file" name="image" /> 
      <input type="submit" name="button_upload_image" /> 
     </form> 
     </div> 
     </div> 
     </div> 
       <?php 
        include $main_directory.'parts/footer.php'; 
       ?> 
      </body> 
     </html> 

내 데이터베이스를 입니다 :이

CREATE TABLE IF NOT EXISTS `images` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `image` blob NOT NULL, 
    `image_name` text NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 
+0

쿼리를 인쇄하고 PHPMyAdmin 인터페이스를 통해 직접 실행 해보십시오. –

+0

'config.php'에는 무엇이 들어 있습니까? –

+0

db - username, pass, host 및 database에 대한 정보입니다. phpmyadmin을 통해 쿼리를 수행했으며 승인되었습니다. – user3442381

답변

0

변경, 이것에

if (!mysql_query($sql)) { // Error handling 
    echo "Something went wrong! :("; 
} 

이 출력됩니다 실제 오류;

if (!mysql_query($sql)) { // Error handling 
    var_dump(mysql_error()); 
    die; 
} 
+1

mysql_error보다 먼저 mysql_query를 호출해야합니다. – GhostGambler

+0

경고 : mysql_error()는 12 번 줄의 C : \ xampp \ htdocs \ test \ upload.php에 지정된 문자열을 매개 변수 1로 사용합니다. NULL – user3442381

+0

내 편집을 참조하십시오. 좋은 catch @GhostGambler –

관련 문제