2016-03-19 30 views
0

Google Volleyを使用してAndroidアプリからサーバーに画像をアップロードしようとしていますが、何らかの理由でSQLコマンドがURLをデータベースに挿入してアップロードできません。残りのコマンドとアンドロイドのコードは動作しているようです。しかし、応答は間違っています。コメントで強調表示されているelseステートメントを確認します。ステートメントは何らかの理由で実行されます。Volleyアップロードの画像PHPを使用してアップロード

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 

$image = $_POST['image']; 
$name = $_POST['name']; 
... 
$conn = mysqli_connect(HOST,USER,PASS,DB) or die('unable to connect to db'); 


$sql ="SELECT id FROM volleyupload ORDER BY id ASC"; 

$res = mysqli_query($conn,$sql); 

    $id = 0; 

    while($row = mysqli_fetch_array($res)){ 
    $id = $row['id']; 
    } 

    $path = "uploads/$id.png"; 

    $actualpath = "http://myurl.co/prak/$path"; 

    $sql = "INSERT INTO volleyupload (photo,name) VALUES ('$actualpath','$name')"; 

    if(mysqli_query($conn,$sql)){ 
     file_put_contents($path,base64_decode($image)); 
     echo "Successfully Uploaded"; 
    } else{ 
     echo "ERROR in insertion to DB!"; //THIS ERROR COMES UP 
    } 

    mysqli_close($conn); 
}else{ 
echo "Error"; 
    } 

?> 

私はボレー画像のアップロードのために、次の午前のチュートリアルはここにある:https://www.simplifiedcoding.net/android-volley-tutorial-to-upload-image-to-server/

私は問題が何知っていると疑問を持つ問題がある場合、私はそれにも知らせてください。

+0

はエラーメッセージなしで働いてAndroidの一部ですか?画像のアップロードは正常に動作しますが、DB書き込みもありますが、アップロード中にAndroidアプリがエラーをスローします。 – plaidshirt

+0

@ KovacsAkos遅く返事を申し訳ありませんが、はい、アンドロイドの部分は、その有用な場合にうまくいきます。ありがとう! –

+0

私に例を教えてください。ボレーは本当に奇妙に働いて、時にはエントリを複製し、アイテムを表示しないでください... – plaidshirt

答えて

1

ブランチが常に入力されるという事実は、mysqli_query($conn,$sql)関数の結果が偽であることを意味します。

これは、SQLステートメントの問題が原因と考えられます。幸いなことに、どこに問題が起きたのかを知る方法があります。mysqli_error($conn)を使って問題がどこにあるかを知ることができます。このような何かにあなたのコードを調整することにより、おそらく

if(mysqli_query($conn,$sql)){ 
     file_put_contents($path,base64_decode($image)); 
     echo "Successfully Uploaded"; 
    } else{ 
     echo "ERROR in insertion to DB:" . mysqli_error($conn); //THIS ERROR COMES UP 
    } 
+0

ありがとう、トンブロブ。私は、エラーがPHPコードで使用した間違ったカラム名にあることを知りました。私は過去5時間試していた。どうもありがとう。 –

関連する問題