2016-11-30 20 views
0

ID(A_I)と画像(LONGBLOB)の画像を持つテーブルがあります。私は他の答えを見ましたが、それは私のためには機能しません。私はXAMPPを使用していることを言及する必要があります。完全なPCファイルパスを使用すると、 '\'が使用されるため、文字をエスケープします。誰かが正しい方向に私を指摘することができますか?PHPを使用してMySQLデータベースに画像を挿入する

<?PHP 
$A = "localhost"; // Server Name 
$B = "root";  // MySQL Username 
$C = "";   // MySQL Password 
$D = "sql";  // Database 

$CONNECT = new mysqli($A, $B, $C, $D); 

if ($CONNECT->connect_error) { 
    die("Connection Failed"); 
} 

echo "Connected"; 

$SQL = "INSERT INTO Images (ID, Image) VALUES (1,LOAD_FILE('1.jpg'))"; 

if (mysqli_query($CONNECT, $SQL)) { 
    echo "Image Sent"; 
} else { 
    echo "Error Sending Image"; 
} 
?> 
+0

あなたは完全なパスを使用する必要があります。スラッシュをエスケープするときにファイル名をどのように入力していますか? – aynber

+0

フルパスはこのように見え、エディタでは '\'とその後の文字の色が変わります。 $ SQL = "INSERT INTO Images(ID、Image)VALUES(1、LOAD_FILE( 'C:\ xampp \ htdocs \ 1.jpg'))"; –

+0

エディタを無視するか、引用符を変更してください。または、より良いのは、準備されたステートメントとbind_paramを使用して、引用/エスケープの問題を取り除くことです。 – aynber

答えて

0

あなたはこのように、\書き込むことによって、\文字をエスケープすることができます

$sql = "INSERT INTO Images (ID, Image) VALUES (1,LOAD_FILE('C:\\xampp\\htdocs\\1.jpg'))"; 
+0

まだエラーが表示されます。 :/ –

+0

正しいパスですか、本当ですか? –

+0

はい、私は確信しています。私も別の画像で試したが、うまくいかない。また、チュートリアルに基づいて新しいテーブルを作成して正確な詳細を作成しても機能しません。 –

関連する問題