У меня странная проблема: когда я отправляю данные в POST с помощью AJAX в JQuery для запроса SQL в php и вставляю данные в массив, сервер возвращает ошибку 500.
Это файл php:
require_once 'db_connect.php';
$objConn=new ConnectionDB();
$connection=$objConn->ConnecteDB();
header('Content-Type: text/plain');
$dataRetourn=$_POST["test"];
$debut=$_POST['debut'];
$fin=$_POST['fin'];
$proute=array();
$i=0;
$i=0;
foreach ($dataRetourn as $data){
$imei = $data["aniImei"];
$requete = "SELECT latitude, longitude, dateHeure
FROM anilog
WHERE anilog.imei='$imei' and dateHeure BETWEEN '$debut' AND
'$fin'
ORDER BY dateHeure ASC";
$resultat1=mysqli_query($connection,$requete);
while($donnees=mysqli_fetch_assoc($resultat1)){
$dataRetourn[$i]["path"][]=$donnees;
}
$i=$i+1;
}
echo json_encode($dataRetourn);
mysql_close($connection);
Мой запрос AJAX:
var options = {
url: "js/controller/getParcours.php",
dataType: "text",
type: "POST",
data: { test: parcours, debut : datep.debut, fin: datep.fin}
};
$.ajax(options).done(function(data){console.info(JSON.parse(data));});
PS: версия PHP на сервере - 5.3
И переменная parcours в запросе AJAX - это $ dataretourn в скрипте php, и это массив объектов
Вам действительно следует перейти на текущую версию PHP. PHP 5.3 подошел к концу более 3 лет назад.
Также вы должны подтверждать и дезинфицировать входных данных.
Ваш код кажется неряшливым. Написано без осторожности. Почему две строчки с $i=0;? Нет проверки ошибок. Странные отступы и интервалы. Без комментариев. И т.д. И т.д. Причина, по которой ваш код не работает, в том, что вам все равно.
Похоже, вы слепо скопировали код ..! @Kevin Breda



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Код ошибки HTTP 500 всегда означает, что с вашим серверным кодом что-то не так, и в вашем случае это ваш PHP-скрипт. Это может быть синтаксическая ошибка или ошибка.
Вы сможете найти дополнительную информацию в журнале своего сервера, если вы используете nginx, это будет /var/log/nginx/error.log, а если вы используете apache, это будет /var/log/apache2/error.log (если иное не указано в конфигурации вашего VirtualHost / сайта).
Однако крайне не рекомендуется использовать PHP 5.3, так как он устарел., подробнее здесь: Время жизни версии PHP
Вы mxing
mysql_*иmysqli_*в последней строкеmysql_close($connection);