Я не могу понять, как функционировать выбранные категории, используя $ где в SQL

Я хочу показать выбранный запрос из таблицы

<?php
$where = "";

if(isset($_GET['category']))
{
$catid = $_GET['category'];
$where = " WHERE product.categoryid = $catid";
}

Таким образом, $where функция, чтобы получить категорию

 $sql = "SELECT category.*,
category.category_id , items.id AS itemID,items.asset_tag,items.name,
items.brand,items.status,
items.quantity,items.category_id,
items.color,items.texture,items.photo,items.date,
items.fetch_item FROM items  LEFT JOIN category ON
category.category_id=items.category_id
WHERE  items.status = 'Available' AND items.fetch_item = '0' $where";


?>

0

Решение

Похоже, вы сделали небольшую ошибку, потому что в вашем запросе «по умолчанию» вы уже WHERE заявление, так что если вы должны использовать AND или же OR вместо WHERE снова:

$where = "";
if(isset($_GET['category']))
{
$catid=$_GET['category'];
$where = " AND product.categoryid = $catid";
}

Кроме того, вы можете сделать инъекцию дополнительного WHERE немного более элегантно, используя Sprintf () функция. Посмотрите на пример:

$additional_condition = 'AND active=1'
$statement = 'SELECT * FROM users WHERE condition=1 %s';
echo sprintf($statement, $additional_condition);

// Output: SELECT * FROM users WHERE condition=1 AND active=1
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]