2017-02-14 152 views
-2

我上傳圖像和使用PHP在Mysql數據庫中保存記錄時遇到問題,有人能幫助我嗎?如何使用PHP在Mysql數據庫中上傳圖像

代碼:

<?php 
ini_set('mysql.connect_timeout', 300); 
ini_set('default_socket_timeout', 300); 
?> 
<html> 
    <body> 
    <form method="post" enctype="multipart/form-data"> 
     </br> 
     <input type="text" name="dbname"/> 
     <input type="file" name="dbimage"/> 
     <br> <br> 
     <input type="submit" name"submit" value"Upload"/> 
    </form> 
    <?php 
    if(isset($_POST['submit'])){ 

     if(getimage($_FILES['dbimage']['tmp_name']) == FALSE) { 
     echo "Please select an image"; 
     } else { 
     $dbimage = addcslashes($_FILES['dbimage']['tmp_name']); 
     $dbname = addcslashes($_FILES['dbimage']['dbname']); 
     $dbimage = file_get_contents($image); 
     $dbimage = base64_encode($dbimage); 
     saveimage($dbname, $dbimage); 
     } 

     function saveimage() { 
     $con = mysql_connect("localhost", "root", ""); 
     mysql_select_db("db_test", $con); 
     $qry = "insert into table1 (dname,dpic) values ('$dbname','$dbimage')"; 
     $result = mysql_query($qry, $con); 
     if ($result){ 
      echo "Image uploaded."; 
     } else { 
      echo " Image not uploaded."; 
     } 
     } 
    }?> 
    </body> 
</html> 
+1

你的「麻煩」是什麼?什麼不起作用?你得到什麼錯誤? (你打開了錯誤報告嗎?) – Epodax

+0

沒有錯誤,但記錄不保存 –

+0

然後你很可能沒有打開錯誤報告,打開錯誤報告(把它放在你的代碼的頂部:'error_reporting( E_ALL); ini_set(「display_errors」,1);'),看看它說什麼。 – Epodax

回答

0

你必須給到功能saveimage()變量$ dbname和$數據庫圖像... Neathertheless請使用PDO ...

0

你已經錯過參數在函數saveimage()中。它應該是這樣的: 功能saveimage($ DBNAME,$數據庫圖像)

0

我認爲你忘了的PARAMS傳遞給你的函數

function saveimage($dbname,$dbimage){...} 

試圖聲明你的病情之外的功能。

相關問題