如何查看来自数据库的结果是否与数组中的值匹配


How to see if a result from the database matches my values in the array

嗨,伙计们,我一直在试图说唱我的头一段时间了。我想要实现的是从数据库中获取一些数据,将其存储在一个变量中,并将其与存储在数组中的值进行比较。问题是它总是返回错误的输出。从下面的SQL查询中,mysql_result $total_cat返回 16 的值。一旦存储了这个值,代码将输出echo "this value is in the array";,但它不起作用。我哪里做错了?

这是我的代码

创建一个数组来存储

中的值
$lunchbox = array(12,13,14,16,20,24,33,32);

设置SQL数据库查询

$query = mysql_query("SELECT * FROM table WHERE id = '$the_persons_id'");

捕获结果并将其存储在变量

$total_cat = mysql_result($query,0,"category_id");

Clean my result

$total_cat  = str_replace("|", " ", $total_cat);

检查我的sql结果是否与我存储在数组中的任何结果相匹配

if (in_array($total_cat, $lunchbox)) {
    echo "this value is in the array";
}else{
    echo "this value is not in the array";

我找到了答案。

我的代码:

创建一个数组来存储

中的值
$lunchbox = array(12,13,14,16,20,24,33,32);

设置SQL数据库查询

$query = mysql_query("SELECT * FROM table WHERE id = '$the_persons_id'");

捕获结果并将其存储在变量

$total_cat = mysql_result($query,0,"category_id");

Clean my result

$total_cat  = str_replace("|", " ", $total_cat);

输出为9 16

现在运行php函数substr来删除字符串的第一部分。

$total_cat = substr($total_cat, 1);
这将给我们16 的输出

现在检查SQL结果是否与数组

中存储的任何结果相匹配
if (in_array($total_cat, $lunchbox)) {
    echo "this value is in the array";
}else{
    echo "this value is not in the array";

现在我的IF语句求值为TRUE,代码完成了。

感谢所有的帮助团队。

Happy Coding:)