Php 根据不同的变量从数据库中选择一个选项?

Php 根据不同的变量从数据库中选择一个选项?,php,mysql,database,logic,Php,Mysql,Database,Logic,我正在寻找能够在数据表中选择最佳选项的PHP代码。被认为是“最佳”的内容将基于变量/列。我知道我需要启动一个mysqli查询并创建几个循环来搜索数据库,但我不完全确定如何实现这样的功能 为了更深入地解释我所说的,这里是一个例子 (开始示例) 假设我有一个数据库,其中有一个包含项的表。共有3列:商品ID、类型、出售。我想让用户能够根据这些变量选择最佳选项。除了查找“最佳”选项外,它还选择按该顺序首先列出的选项(在本例中为最低的项目ID)。 想象一下这张桌子: Item ID | Type | On

我正在寻找能够在数据表中选择最佳选项的PHP代码。被认为是“最佳”的内容将基于变量/列。我知道我需要启动一个mysqli查询并创建几个循环来搜索数据库,但我不完全确定如何实现这样的功能

为了更深入地解释我所说的,这里是一个例子

(开始示例)

假设我有一个数据库,其中有一个包含项的表。共有3列:商品ID、类型、出售。我想让用户能够根据这些变量选择最佳选项。除了查找“最佳”选项外,它还选择按该顺序首先列出的选项(在本例中为最低的项目ID)。 想象一下这张桌子:

Item ID | Type | On Sale
---------------------
1      | Chair | 0 
2      | Table | 1
3      | Chair | 1  
4      | Oven  | 0  
5      | Table | 1
6      | Oven  | 0 
重要级别类似于类型>在售>商品ID(最低)

用户正在寻找椅子。选择项目3是因为它是他的项目,也是第一个出售的项目

用户正在查找表。选择项目2而不是项目5,因为它列得更高(或者在本例中,具有更低的项目ID)

用户正在寻找烤箱。选择第4项是因为没有烤箱出售。由于没有出售的选项,它选择列出的烤箱中最低的项目ID

(结束示例)


那我该怎么做呢?任何答案都将不胜感激

我假设“用户指定的类型”实际上是一个类似$usertype的变量。所以我会做一些类似于
select*from table_name的事情,其中Type=$usertype order by On Sale,Item ID
其中$usertype可以是chairs,因为我尝试了这个方法,基本上发生了一个错误,我基本上说
chairs不是列
。在此场景中,用户指定的类型必须是列或变量吗?具体来说,
mysqli\u sql\u例外:“where子句”中的未知列“chair”
变量需要加引号。e、 g.
Type='“$usertype.”
尽管您希望清理用户输入(或理想情况下使用参数化)以防止sql注入。
select * from table_name where Type = type_specified_by_user order by On Sale, Item ID