我如何检索在 PHP 上指定关键字的行
How could I retrieve rows specifying a keyword on PHP
这真是初学者提出的一个愚蠢的问题,我的数据库中有一个名为 "stations" 的 table,并且在其上有一个名为 "keywords" 的列。
我需要检索所有包含一个特定关键字的行(比方说 "pizza")。
我试过这个但没有用:
foreach ($stations->result() as $row)
{
foreach ($row->keywords as 'pizza')
{
<--my code-->
}
}
如何使用 PHP 检索特定列中包含 "pizza" 的所有行?
您可以 select 使用 find_in_set
:
仅解析相关行,而不是在 PHP 中解析它
SELECT *
FROM stations
WHERE FIND_IN_SET ('pizza', keywords) > 0
您可以使用 explode()
将列表转换为数组来完成此操作。然后你可以使用 in_array()
:
foreach ($stations->result() as $row) {
if ( in_array('pizza', explode(",", $row->keywords) ) ) {
<--my code-->
}
}
explode(",", $row->keywords)
将您的逗号分隔列表转换为数组。
in_array('pizza', $array )
returns TRUE
如果找到披萨,否则 returns FALSE
.
这真是初学者提出的一个愚蠢的问题,我的数据库中有一个名为 "stations" 的 table,并且在其上有一个名为 "keywords" 的列。 我需要检索所有包含一个特定关键字的行(比方说 "pizza")。 我试过这个但没有用:
foreach ($stations->result() as $row)
{
foreach ($row->keywords as 'pizza')
{
<--my code-->
}
}
如何使用 PHP 检索特定列中包含 "pizza" 的所有行?
您可以 select 使用 find_in_set
:
SELECT *
FROM stations
WHERE FIND_IN_SET ('pizza', keywords) > 0
您可以使用 explode()
将列表转换为数组来完成此操作。然后你可以使用 in_array()
:
foreach ($stations->result() as $row) {
if ( in_array('pizza', explode(",", $row->keywords) ) ) {
<--my code-->
}
}
explode(",", $row->keywords)
将您的逗号分隔列表转换为数组。
in_array('pizza', $array )
returns TRUE
如果找到披萨,否则 returns FALSE
.