I can't seem to figure out what the problem is, but my PHP array isn't outputting as proper JSON. I removed the json_encode function, only to find out that my array's are cascading and not properly formatting themselves. Here is an example of the output (with json_encode removed):
Array (
[0] => Array (
[username] => g4m3b0y
[profile_photo] => default.png
[email] => michael@me.com
[first_name] => Michael
[last_name] => Simpson
)
)
Array (
[0] => Array (
[username] => g4m3b0y
[profile_photo] => default.png
[email] => michael@me.com
[first_name] => Michael
[last_name] => Simpson
)
[1] => Array (
[username] => michelle
[profile_photo] => default.png
[email] => michelle@gmail.com
[first_name] => Michelle
[last_name] => Houston
)
)
As you can see, it's creating duplicate results in separate arrays, hence my issue with the JSON output. Here is my code which is generating the results:
$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;
}