Я не могу понять, в чем проблема, но мой массив PHP не выводит как правильный JSON. Я удалил функцию json_encode, только чтобы узнать, что мой массив каскадирует и не правильно форматирует себя. Вот пример вывода (с json_encode удалены):PHP Array не правильно форматирует
Array (
[0] => Array (
[username] => g4m3b0y
[profile_photo] => default.png
[email] => [email protected]
[first_name] => Michael
[last_name] => Simpson
)
)
Array (
[0] => Array (
[username] => g4m3b0y
[profile_photo] => default.png
[email] => [email protected]
[first_name] => Michael
[last_name] => Simpson
)
[1] => Array (
[username] => michelle
[profile_photo] => default.png
[email] => [email protected]
[first_name] => Michelle
[last_name] => Houston
)
)
Как вы можете видеть, это создание дубликатов результатов в отдельных массивах, следовательно, мой вопрос с выходом JSON. Вот мой код, который генерирует результаты:
$sql2 = "SELECT DISTINCT username, profile_photo, first_name, last_name, email FROM users WHERE (
first_name LIKE '%$q%'
OR last_name LIKE '%$q%'
) ORDER BY last_name";
$sq2 = mysql_query($sql2);
$st2 = mysql_num_rows($sq2);
if($st2>=1) {
while($a = mysql_fetch_array($sq2)) {
$userRow[] = array(
'username' => $a['username'],
'profile_photo' => $a['profile_photo'],
'email' => $a['email'],
'first_name' => $a['first_name'],
'last_name' => $a['last_name']
);
header('Content-Type: application/json');
echo json_encode($userRow);
}
}
else {
exit;
}
Что $ userRow [] выглядеть как внутри цикла - эхо это, чтобы доказать, что вы получаете правильные данные первого – acutesoftware
Stop с помощью 'функций mysql' тоже. Используйте 'mysqli' или PDO. –
Каковы преимущества использования mysqli vs mysql? Извините, если вопрос очевиден, но ищите здесь несколько советов. Благодаря! – viablepath