В чем ошибка в данном 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 шт):
Обрабатывайте 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.
Php-функции работы с JSON не работают в кодировке, отличной от UTF-8. Проверьте кодировку