Правильный синтаксис для передачи параметра из API в функцию в PHP - PullRequest
1 голос
/ 18 марта 2019

Я 2 дня изучаю PHP и с разочарованием пытаюсь получить GET и использовать параметр, переданный в мой API.

Я прочитал документацию PHP $ _GET , это не такЭто займет много времени, а также несколько страниц SO о $ _GET.

Мой пример использования прост.Я хочу получить список записей из базы данных MySQL, если их дата изменения больше, чем введенная дата.Функция работает, если я, например, жестко набрал '2019-03-18 00:00:01'.

Используя echo, я вижу, что получаю параметр.

Фактически, копирование вывода из echo и использование для обновления функции, которую я использую в аргументе, возвращает ожидаемый результат.

Я предполагаю, что об этом уже спрашивали, но я не могу 'не могу найти это.Все примеры, которые я читаю, кажутся более сложными, то есть несколько переменных или проблем с функцией и т. Д.

Я, должно быть, где-то допустил ошибку.

<?php
//Returns Lab Results Modified after the passed in date
include_once 'db_functions.php';
$db = new DB_Functions();

//Get JSON posted by Android Application
if (isset($_GET['date'])) {

    $json = $_GET['date'];
    echo $json;

    // commenting out the next two line results in
    // '2019-03-19 00:00:01' returning and not the json array.
    $json = '2019-03-18 00:00:01';
    echo $json;

    $mod = $db->getLabResultsModifiedAfter($json);

    $a = array();
    $b = array();

    if ($mod != false){
        while ($row = mysqli_fetch_array($mod)) {       
            $b["ID"] = $row["ID"];
            $b["last_modified"] = $row["last_modified"];
            $b["LabRef"] = $row["LabRef"];
            array_push($a,$b);
            }
        echo json_encode($a);
    }

} else {
    // Fallback behaviour goes here
}
?>

Я не разработал сторону приложенияфункционировать еще.Я использую почтальон для передачи даты «2019-03-18 00:00:01», т.е. это для местного .

1 Ответ

0 голосов
/ 19 марта 2019

Ответ, предоставленный @aisby. Я использовал кавычки в переданном параметре.

Дата, которую вы передаете в своем URL, не соответствует формату «2019-03-18 00:00:01». Попробуйте перейти по этому URL ... localhost: 8080 / its /… ... У меня есть URL в кодировке даты 2019-03-18 00:00:01 в строке запроса. Я вижу, что ваш комментарий показывает дату Строка запроса, начинающаяся с% 27, которая представляет собой одинарную кавычку в кодировке URL. Вы должны отправлять значение только в переменных строки запроса. Не одинарные или двойные кавычки. - asiby 18 часов назад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...