2016-03-19 5 views
0

Я пытаюсь загрузить изображение из приложения Android с помощью Google Volley на сервер, но по какой-то причине команда SQL для вставки URL-адреса в базу данных и загрузки не работает. Остальные команды, а также код в android, похоже, работают. Но ответ неверен. Проверьте приведенный ниже оператор else, выделенный комментарием, этот оператор выполняется по какой-то причине независимо от того, что я делаю.Volley upload image using 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 Извините за поздний ответ, но да, часть Android работает отлично, если это полезно. Благодаря! –

+0

Не могли бы вы привести мне пример? Волейбол работает действительно странно, он иногда дублирует записи, не показывает предметы ... – plaidshirt

ответ

1

Факт, что else отрасль всегда вводится, означает, что mysqli_query($conn,$sql) функция результат FALSE.

Это, скорее всего, вызвано проблемой с вашим оператором 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 часов. Большое спасибо. –