我在数据库中有一个列,其值存储为逗号分隔的数组;假设数据库中的示例条目是:1、5、8、15
我现在尝试在 SELECT 语句中使用这些数据,以允许用户在数据库中选择一个条目,其中该数组包含他们选择的值(这些值与我在实际应用程序中加入的查找表相关联,用户看不到整数)。
我简化的 SELECT 语句本质上是:
$arrayvalue = "1";
$query = "SELECT * FROM table WHERE tablearray IN ($arrayvalue)";
在这个例子中,我输入 1 作为要搜索的数组值;实际上,该变量是由用户控制的表单输入中的 POST 填充的。
'tablearray' 是包含逗号分隔数组的列的名称,我们说过将包含 1、5、8、15 作为示例(尽管实际上它会有所不同)。
当我选择数组中的第一个值但不返回第二个值时,这个带有 IN 子句的语句现在对我来说适用于表列中只有一个值或数组中有多个值的数据value 如果我选择它,即如果我将 $arrayvalue 设置为 1 它可以工作,但到 5 它不会在我的结果中返回该行。
此时我不需要从数组中选择多个值,我只希望它能够从表列中选择一个值,而不管该整数在数组中的哪个位置。我怀疑我在这里遗漏了一些简单的东西,如果你能提供帮助,谢谢。