我正在尝试使用Google Volley将图像从Android应用程序上传到服务器但由于某种原因,SQL命令将URL插入数据库并上传不起作用。其余的命令以及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/
请让我知道问题是什么,如果问题有问题,请告诉我。
答案 0 :(得分:1)
总是输入app.get('/list', function (req,res) {
connection.query('SELECT `ondate`,`projectname`,`hours` FROM `entries` WHERE YEARWEEK(`ondate`, 1) = YEARWEEK(CURDATE(), 1) ORDER BY ondate DESC ,projectname ASC ', function(err, rows, fields) {
res.json({error: err, result: rows});
});
})
分支意味着else
函数结果为FALSE。
这很可能是由SQL语句问题引起的。幸运的是,有一种方法可以找出问题的确切来源 - 您可以使用mysqli_query($conn,$sql)
找出问题的确切位置。
可能会将您的代码调整为以下内容:
mysqli_error($conn)