2017-02-14 7 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

エラー報告を有効にしていない可能性があります。 E_ALL); ini_set( "display_errors"、1); ')、それが何であるかを見てください。 – Epodax

答えて

0

あなたは、関数saveimage(に与えなければなりません)変数の$ dbnameはと$ dbimage ... Neathertheless PDOを使用してください...

0

あなたが見逃しているパラメータin function saveimage()。私はあなたがあなたの状態の外で、あなたの関数を宣言するようにしてください

あなたの関数へのparamsを渡す
function saveimage($dbname,$dbimage){...} 

を忘れてしまったと思い 関数saveimage($ dbnameは、$ dbimage)

0

:それはこのようにする必要があります。

関連する問題