我有一个像这样的表和查询
book_id values
1 1,2,3
2 1,2,4
<?php
$my_value = "1";
$get_page_query = mysql_query("SELECT * FROM my_table where values IN($my_value)");
?>
因此,如果$ my_value在表中,那么请将用户带到welcome.php页面,否则将它们带到error.php页面。
我该怎么做?
请帮帮我
我上面的示例代码无效..请帮帮我
谢谢
答案 0 :(得分:1)
if(mysql_num_rows($get_page_query)>0){
header('Location: welcome.php');
/* Make sure that code below does not get executed when redirected. */
exit;
} else {
header('Location: error.php');
/* Make sure that code below does not get executed when redirected. */
exit;
}
答案 1 :(得分:1)
使用mysql_num_rows
,试试这个:
if (mysql_num_rows($get_page_query)) {
header('Location:welcome.php');
} else {
header('Location:error.php');
}
答案 2 :(得分:1)
您应该更改查询,因为您正在搜索表中存储的集合中的1
,而不是相反。更改查询后,您可以使用其他答案中提供的方式,我们最终得到以下代码:
<?php
$my_value = "1";
$get_page_query = mysql_query("SELECT * FROM my_table WHERE
FIND_IN_SET('$my_value' , values)>0");
if(mysql_num_rows($get_page_query)>0){
//welcome page
}
?>
旁注1:正如您对问题的评论所述,您的表格结构不合适,您应该尝试规范化您的数据。
答案 3 :(得分:1)
错误。您使用values
作为表字段名称。这是MySql中的关键字所以请更改您的表字段名称。
book_id book_value
1 1,2,3
2 1,2,4