Итак, я пытаюсь создать API для моего личного проекта для получения данных. И это работает довольно хорошо, пока мне не придется выбрать один столбец. Я использую почтальон, чтобы проверить API и когда я отправляю запрос, я получаю полную таблицу, несмотря ни на что. < /P> Это мой файл index.php. < /P>
< /code>
Это метод обработки, где я передаю параметры, чтобы выбрать данные из базы данных. < /p>
private function handleGet($table,$column, $params)
{
$limit = trim($params['limit'], '"') ?? 20;
$orderBy = trim($params['orderBy'], '"') ?? null;
$order = trim($params['order'], '"') ?? "ASC";
$records = $this->redirectRequest->getAll($table, $column, $limit, $orderBy, $order);
echo json_encode($records);
}
< /code>
И это Redirectrectest.php, где происходит выполнение SQL: < /p>
public function getAll($table, $column, $limit = 20, $orderBy = null, $order = "ASC")
{
$pdo = $this->database->getPDO();
// Prevent SQL Injection in ORDER BY
$order = strtoupper($order) === "DESC" ? "DESC" : "ASC";
$orderByClause = $orderBy ? "ORDER BY `$orderBy` $order" : "";
if($column==="all")
{
$column="*";
}
$query = "SELECT". $column ."FROM `$table` $orderByClause LIMIT :limit";
$stmt = $pdo->prepare($query);
$stmt->bindValue(":limit", (int) $limit, PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetchAll();
}
< /code>
Вот как я передал запрос в почте:
https://localhost/testapi-v2-test/index.php/userlist/listall/animeid< /code>
и я получаю данные из всей таблицы. Полем Но даже если я передам это, я получу полную таблицу, возвращенную мне. И если я прохожу это: < /p>
https://localhost/testapi-v2-test/index.php/userlist/listall/< /code>, я получаю ошибку для отсутствующего параметра, как:
Warning[/b]: Undefined array key 4 in [b]C:\xampp\htdocs\testAPI-V2-test\index.php[/b] on line [b]16[/b]
Итак, я пытаюсь создать API для моего личного проекта для получения данных. И это работает довольно хорошо, пока мне не придется выбрать один столбец. Я использую почтальон, чтобы проверить API и когда я отправляю запрос, я получаю полную таблицу, несмотря ни на что. < /P> [b] Это мой файл index.php. < /P> [code] < /code> Это метод обработки, где я передаю параметры, чтобы выбрать данные из базы данных. < /p> private function handleGet($table,$column, $params) { $limit = trim($params['limit'], '"') ?? 20; $orderBy = trim($params['orderBy'], '"') ?? null; $order = trim($params['order'], '"') ?? "ASC";
$records = $this->redirectRequest->getAll($table, $column, $limit, $orderBy, $order); echo json_encode($records); } < /code> И это Redirectrectest.php, где происходит выполнение SQL: < /p> public function getAll($table, $column, $limit = 20, $orderBy = null, $order = "ASC") { $pdo = $this->database->getPDO();
< /code> Вот как я передал запрос в почте: https://localhost/testapi-v2-test/index.php/userlist/listall/animeid< /code> и я получаю данные из всей таблицы. Полем Но даже если я передам это, я получу полную таблицу, возвращенную мне. И если я прохожу это: < /p> https://localhost/testapi-v2-test/index.php/userlist/listall/< /code>, я получаю ошибку для отсутствующего параметра, как:
Warning[/b]: Undefined array key 4 in [b]C:\xampp\htdocs\testAPI-V2-test\index.php[/b] on line [b]16[/b] [/code], а затем вся таблица также отображается