小编典典

基于PHP strstr或LIKE的SQL命令

sql

有人可以提供一些帮助。我有一个标准的SQL命令,如下所示

$SQL = "SELECT * FROM table WHERE Date > :FromDate AND Date < :EndDate";

这可以正常工作,但返回不相关的行。我必须利用php循环,并使用它们遍历它们以使用一条if语句过滤出所需的记录。

$col1 = $col1["colVal"]

if(strstr($col1, "ABC") !== FALSE) {
    // can be used on page
}

有没有办法做到这一点,sql所以我只返回所需的结果?我需要它来检查col值字符串是否仅包含的前几个字母ABC。以下sql工作有效吗?

$string = "ABC";

$SQL = "
SELECT * FROM table 
  WHERE 
    Date > :FromDate 
    AND Date < :EndDate 
    AND col1 LIKE $string
";

阅读 303

收藏
2021-04-14

共1个答案

小编典典

您使用strstr的方式substr与字符串包含的方式相同ABC

SELECT *
    FROM table
    WHERE Date > :FromDate
    AND Date < :EndDate
    AND col1 LIKE '%$string%';

如果要搜索首字符为的字符串ABC,请使用:

SELECT *
    FROM table
    WHERE Date > :FromDate
    AND Date < :EndDate
    AND col1 LIKE '$string%';

stristr但是,这将是完全不同的故事。

2021-04-14