我的问题很简单。我的表格中有一栏标有“' area'看起来像是:
ma_south海岸
ma_south-caost
ma_north
ca_los - 安吉洛
ca_los-安耶洛斯
我希望能够只选择“妈妈”。那些。我正在尝试做以下事情:
$res_area = mysqli_query($connection,"select area from users");
while ($row_state = mysqli_fetch_array($res_area)) {
$state_exp = reset(explode("_", $row_state['area']));
}
此时打印$ state_exp会给我:mamamacaca,这很好。但是我想要过滤所以我只得到了那些。
答案 0 :(得分:2)
您可以使用WHERE column LIKE "ma%"
扩展您的查询,或者如果前两个字符是“ma”,请与substr($row_state['area],0,2)
核对。
答案 1 :(得分:1)
你可以试试这个:
$res_area = mysqli_query($connection,"select area from users");
while ($row_state = mysqli_fetch_array($res_area)) {
$state_exp = stristr(reset(explode("_", $row_state['area'])),'ma');
}
答案 2 :(得分:1)
您正在寻找LIKE
运营商。 LIKE
运算符用于在列中搜索指定的模式。
试试这个:
SELECT * FROM tablename WHERE areaLIKE 'ma_%';
您可以详细了解LIKE
运算符here。
答案 3 :(得分:-1)
最佳解决方案可能是: -
$res_area = mysqli_query($connection,"select area from users WHERE area LIKE 'ma_*')";
while ($row_state = mysqli_fetch_array($res_area)) {
if(stripos(reset(explode("_", $row_state['area'])),'ma') !== FALSE)
{
$state_exp = reset(explode("_", $row_state['area']));
}
}