В чем ошибка в данном php скрипте?

есть php скрипт который вызывается от ajax, в ajax есть некие поля ошибок и мне кидает вот эту "Не найден доман в запросе [500]". Сейчас подробнее: вот кусок с ajax, и он рабочий, позже объясню почему.

$.ajax({
                type: "POST",
                url: 'php/array_master_time.php',
                data: { 
                    "master": master, "Polina_date": Polina_date
                },
                success: function(response)
                {
                  $("#Polina_time").html(response);
                },
                error: function(jqXHR, exception)...

а вот якобы проблемный кусок кода PHP

if($_POST['master'] && $_POST['Polina_date'])
{

  $master = $_POST['master'];
  $date_Polina = $_POST['Polina_date'];

  $query = "SELECT time FROM `#desavir_Полина` WHERE date ='$date_Polina' ORDER BY time";
  $t = mysqli_query($connect, $query); //Отправляем запрос 

  $output = $t_fetch_assoc(); // переводим результат запроса в ассоциативный массив
  echo json_encode($output); 

  exit;
  /*$query_close();
  echo $t;
  exit;*/
}

До if я ставил echo и оно выводилось и после него я тоже ставил echo и оно тоже выводилось, но после строчки в которой мы хотим вернуть переменную $t вылезает ошибка(пытался возвращать способом через "echo $t;" и "$output = $t_fetch_assoc(); echo json_encode($output);" в обоих из них вылазит ошибка. Теперь немного уточнений, вдруг поможет: сначала случайно прописал присваивание вот таким образом "$output = $t-fetch_assoc();" и у меня не вылезало ошибки, но выводилась только первая строка массива. Спасите, помогите, пожалуйста!!!


Ответы (2 шт):

Автор решения: Nikolay

Обрабатывайте mysqli_fetch_assoc в цикле, потому что он возвращает по одной строке результата при каждом вызове.

while($output = mysqli_fetch_assoc($t)) {
        $arr[] = $output;
}
echo json_encode($arr);

А также помните, что подобная обработка данных

$query = "SELECT time FROM `#desavir_Полина` WHERE date ='$date_Polina' ORDER BY time";
$t = mysqli_query($connect, $query); //Отправляем запрос 

Создает в вашем коде уязвимость к атаке с использованием SQL-инъекции. Чтобы избежать этого, рекомендую как минимум обернуть дату в mysql_real_escape_string:

 $master = mysqli_real_escape_string ($_POST['master’]);
 $date_Polina = mysqli_real_escape_string ($_POST['Polina_date’]);

Советую почитать документацию PHP по mysqli.

→ Ссылка
Автор решения: Confireus

Php-функции работы с JSON не работают в кодировке, отличной от UTF-8. Проверьте кодировку

→ Ссылка