Я хочу создать приложение на Android, в котором пользователь загружает фото, и эти загрузки будут вставлены в мою базу данных MySQL с помощью PHP.
но мой скрипт PHP генерирует ошибку, которая
Undefined index image in PHP
Ниже приведены мои файлы PHP -
"Constants.php"
<?php
$db_name = "mydb";
$local_username = "root";
$local_password = "";
$server_name = "localhost";
$conn=
mysqli_connect($server_name,$local_username,$local_password,$db_name);
if ($conn)
{
echo "Connection successful";
}
else
{
echo "Connectionj failed";
}
?>
"imageUploadScript.php"
<?php
require "Constants.php";
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$DefaultId = 0;
$image = $_POST['image'];
$mobile = $_POST['mobile'];
// if (isset($_POST['image']))
//{
$ImagePath = "imageUploads/$mobile.jpg";
$ServerURL = "yourPath/$ImagePath";
$InsertSQL = "INSERT INTO info (img) values('$ServerURL') where
mobile=$mobile";
if (mysqli_query($conn, $InsertSQL)){
file_put_contents($ImagePath,base64_decode($ImageData));
echo "Your Image Has Been Uploaded.";
mysqli_close($conn);
}
else{
echo "Please Try Again";
}
//}
}
?>
любая помощь с вашей стороны будет оценена
загрузка изображений связана с глобальной переменной $_FILES, а не с $_POST. так что измените это и проверьте
используйте file_put_contents($ImagePath,base64_decode($Image)) вместо file_put_contents($ImagePath,base64_decode($ImageData))
спасибо @M A и @ Alive to Die, ошибка исчезла, но элементы управления перешли в другую часть, и сгенерировано сообщение «Подключение выполнено успешно. Повторите попытку»
спасибо @Bunny, но все же контроль находится в другой части
Затем проверьте наличие ошибок SQL. Запрос INSERT WHERE выглядит странно.
затем проверьте свой запрос на вставку, и вам также необходимо изменить переменную: $imagedata на $image
VTC слишком широк. Слишком много ошибок для одного вопроса. Найдите лучшее руководство, уделите больше времени правильному отступу и форматированию, используйте эти переменные со смешанным регистром и имена путей реже, прочтите PDO и привязку параметров и используйте IDE с отладчиком для анализа таких проблем.
спасибо @mario, теперь я исправил код, и он отлично работает






Для загрузки изображения вам необходимо использовать
$_FILES['image']
вместо
$_POST['image']
Если вы загружаете образ, вам необходимо использовать
$_FILES['image']вместо$_POST['image'].