我有以下代码:
$getfreq = mysql_query("SELECT wp_term_relationships.term_taxonomy_id FROM wp_term_relationships WHERE wp_term_relationships.object_id = '1737'");
以上结果是phpymyadmin返回5个值:345 456 569 634 723
现在,使用PHP我想检查$ getfreq的内容,看它是否包含569。
我试过这样做:
if (in_array(569,$getfreq,TRUE) {
echo "Success!";
} else if (in_array(654,$getfreq,TRUE) {
echo "Not good";
} else {
echo "Failure";
}
但这不起作用。
这样做:
print_r($getfreq);
结果:Array()。
有什么想法吗?
答案 0 :(得分:1)
$getfreq
不是数组,而是结果资源。为了获得数组中的实际行,您需要调用结果上的一个获取函数,例如:
$row = mysql_fetch_assoc($getfreq)
然后在in_array
上进行$row
。
这不起作用。如果我使用print_r($ row),我只得到Array([term_taxonomy_id] => 345)。在phpmyadmin中,我的查询返回上面提到的5个结果。剩下的发生了什么?
这是因为您需要遍历整个结果集。这是单行的结果:
while ( false !== ($row = mysql_fetch_assoc($getfreq))) {
// make your comparison for each row
}
答案 1 :(得分:1)
尝试:
$res = mysql_fetch_array($getfreq);
然后
if (in_array(569,$res,TRUE) {....
答案 2 :(得分:0)
while ($row = mysql_fetch_assoc($getfreq)) {
if ($row[term_taxonomy_id] == 345) {
echo "WORKS!";
}
}