1

基本的に、php/mysql 間の関係で画像をアップロード/表示する方法についてのアイデアを得るためにテストに取り組んでいます。

問題は、データベースに画像をアップロードした後、BLOB 列に「image/jpeg」ではなく「im」が表示されることです。データを「im」として挿入する問題は何ですか?

どうもありがとう

コードはこちら

$aname = $_POST['aname'];
$adetails = $_POST['adetails'];
$aphoto = addslashes(file_get_contents($_FILES['aphoto']['tmp_name']));
$image = getimagesize($_FILES['aphoto']['tmp_name']); //to know about image type etc.
$aphototype = $image['mime'];


$q = "INSERT INTO animaldata VALUES('','$aname','$adetails','$aphoto','$aphototype')";
4

1 に答える 1

1

私の最善の推測では、最後に挿入する列は varchar である必要があるか、十分な長さではありません (たとえば、最大 2 文字しか許可されていません)、または同様のものです。テーブル構造もチェックしてください!

どの列を指定せずに animaldata に挿入することで、少しあいまいさも生じていることに注意してください。列に名前を付け、最初の列にデフォルト値を設定することをお勧めします...

INSERT INTO animaldata
    (Name, Details, Photo, PhotoType)
    Values('$aname', '$adetails', '$aphoto', '$aphototype');

準備されたステートメントも調べてください...あなたのステートメントをもう少し安全にしてください;)

于 2012-07-20T13:48:21.030 に答える