我正在尝试使用Google Volley将图像从Android应用程序上传到服务器,但是由于某种原因,用于将URL插入数据库并上传的SQL命令不起作用。其余命令以及android中的代码似乎都可以正常工作。但是响应是不正确的。检查下面以注释突出显示的else语句,无论我做什么,该语句都会由于某种原因被执行。
<?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/
请让我知道问题出在哪里,如果问题有问题,请也让我知道。
实际上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
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句