2017-02-14 73 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){...} 

试图声明你的病情之外的功能。

相关问题