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

时间:2014-07-03 19:00:39

标签: php mysql sql arrays

嗨,大家好,我一直试图在这个问题上试一试。我想要实现的是从我的数据库中获取一些数据,将其存储在变量中并将其与存储在我的数组中的值进行比较。 问题是它不断返回错误的输出。在下面的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");

清理我的结果

$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";

1 个答案:

答案 0 :(得分:0)

我找到了答案。

这是我的代码:

创建一个数组以将我的值存储在

$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");

清理我的结果

$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,代码已完成。

感谢所有帮助团队。

快乐编码:)