Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检索结果_Php - Fatal编程技术网

PHP检索结果

PHP检索结果,php,Php,我在检索结果时遇到了一点小问题,希望有人能帮助我 我有一个名为$incategory的字段,它是一个基于逗号的字符串,我要做的是将该字段分解成一个数组,用于检索以下结果(希望有意义): 使用分解函数并使用,作为分隔符 参考这里 希望这有帮助。使用explode函数并使用,作为分隔符 参考这里 希望这有帮助。您可以像这样直接使用SQL的IN关键字 query_display = "SELECT * FROM category WHERE id IN (".$showlist.") ORDER BY

我在检索结果时遇到了一点小问题,希望有人能帮助我

我有一个名为$incategory的字段,它是一个基于逗号的字符串,我要做的是将该字段分解成一个数组,用于检索以下结果(希望有意义):


使用分解函数并使用
作为分隔符

参考这里


希望这有帮助。

使用explode函数并使用
作为分隔符

参考这里


希望这有帮助。

您可以像这样直接使用SQL的IN关键字

query_display = "SELECT * FROM category WHERE id IN (".$showlist.") ORDER BY name ASC";
另一个技巧是停止使用MYSQL_查询,因为它在PHP5.3中已被弃用

编辑:如果$showlist='1,3,5',则需要从字符串中删除最后一个逗号,使其在查询中可用。那么就使用这个查询吧

query_display = "SELECT * FROM category WHERE id IN ('".str_replace(",", "','", substr($showlist, -1))."') ORDER BY name ASC";

您可以像这样直接使用SQL的IN关键字

query_display = "SELECT * FROM category WHERE id IN (".$showlist.") ORDER BY name ASC";
另一个技巧是停止使用MYSQL_查询,因为它在PHP5.3中已被弃用

编辑:如果$showlist='1,3,5',则需要从字符串中删除最后一个逗号,使其在查询中可用。那么就使用这个查询吧

query_display = "SELECT * FROM category WHERE id IN ('".str_replace(",", "','", substr($showlist, -1))."') ORDER BY name ASC";

首先,将
$incategory
字符串分解为包含所有类别号的数组。例如:

$incategory = explode(",", $incategory);
然后您只需执行以下查询:

$query_display = "SELECT * FROM category WHERE id = "
               . $incategory[$i] . " ORDER BY name ASC";

$i
应该事先定义(通常使用循环)。

首先,将
$incategory
字符串分解为包含所有类别号的数组。例如:

$incategory = explode(",", $incategory);
然后您只需执行以下查询:

$query_display = "SELECT * FROM category WHERE id = "
               . $incategory[$i] . " ORDER BY name ASC";

$i
应该事先定义(通常使用循环)。

你好,Ashwin,谢谢你的回复。我尝试应用您的解决方案
“从id位于(“.$showlist.”)的类别中选择*”
并收到此错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“12,13,15,1,14,)”附近使用的正确语法,然后我在(“$showcontrole.”中添加了“
WHERE id”。
修复了错误,尽管这意味着没有显示任何结果。我看到了问题。在回答中反映出来。嗨,阿什温,谢谢你的回答。我尝试应用您的解决方案
“从id位于(“.$showlist.”)的类别中选择*”
并收到此错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“12,13,15,1,14,)”附近使用的正确语法,然后我在(“$showcontrole.”中添加了“
WHERE id”。
修复了错误,尽管这意味着没有显示任何结果。我看到了问题。在答案中反映出来。