Witam,
mam pewien problem co do małego API, które próbuję napisać. Ma ono wybierać z bazy tekst o podanym ID, i wg. ID użytkownika, który przesłał dany tekst znaleźć jego username. Po znalezieniu tekstu i username'a funkcja response() ma zakodować 2 dane w JSONa. Sama funkcja działa bez problemu. Gdy podam zły klucz / nie podam ID zakoduje się "invalid request", natomiast gdy ma wykonać się samo zapytanie do bazy strona pokazuje error 500. Albo ja jestem ślepy , albo jest to błąd hostingu lub nie wiem czego - w ten sam sposób wykonuję każde inne zapytanie na stronie i każda inna działa. Kopiuję kod i nic . Dodam, że nazwy kolumn były sprawdzane po 500 razy... Połączenie jest raczej dobre (mówię, łączy się w ten sposób każda inna stronka) - przechodzi przez ifa z błędem połączenia.
Dzięki!
PS. Pisałem tą samą stronkę (ale przez przypadek ją usunąłem) gdzieś z miesiąc temu i działała...
<?php
header("Content-Type:application/json");
require_once "connect.php";
$connection = @new mysqli($host, $db_name, $db_user, $db_password);
$connection->set_charset("utf8");
$id = $_GET['id'];
if((!empty($id)) && ($_GET['key'] == '<klucz here>'))
{
if ($connection->connect_errno!=0)
{
$noteR = $connection->query("SELECT * FROM notes WHERE id='$id'");
$noteD = $noteR->fetch_assoc();
$note = $noteD["note"];
$userId = $noteD["author"];
$authoR = $connection->query("SELECT * FROM users WHERE id='$userId'");
$authorD = $authorR->fetch_assoc();
$author = $authorD["username"];
if(empty($note))
{
response("Note Not Found", NULL);
}
else
{
response($note, $author);
}
}
else
{
echo $connection->connect_errno;
}
}
else
{
response("Invalid Request", NULL);
}
function response($note, $author)
{
$response['note'] = $note;
$response['author'] = $author;
$json_response = json_encode($response, JSON_UNESCAPED_UNICODE);
echo $json_response;
}
?>