代码之家  ›  专栏  ›  技术社区  ›  TheNone Nabster

mysql中的“LIKE”

  •  0
  • TheNone Nabster  · 技术社区  · 14 年前

    我编写了一个简单的mysql搜索表单,可以在两个日期之间进行搜索。

    $sql = "SELECT * FROM table WHERE  dateStarted like '%$checkin%' 
    AND dateEnded like '%$checkout%'";
    

    但与

    $sql2 = "SELECT * FROM table WHERE  dateStarted = $checkin 
    AND dateEnded = $checkout";
    

    没有结果?两个sql之间的区别是什么?

    编辑:

    $checkin and $checkout are date (16-07-2010) 
    

    提前谢谢

    3 回复  |  直到 14 年前
        1
  •  4
  •   Sarfraz    14 年前

    $checkin和$checkout是日期 (16-07-2010)

    请尝试在查询中加引号:

    $sql2 = "SELECT * FROM table WHERE  dateStarted = '$checkin'
             AND dateEnded = '$checkout'";
    
        2
  •  2
  •   Quentin    14 年前

    一个匹配变量$checkin的值,另一个匹配任何值 包含 变量$checkin的值。

    因此,如果$checkin是foo,那么第一个将匹配“foo”或“something foosome”,而第二个将只匹配“foo”。

        3
  •  -2
  •   Alexander_F    14 年前

    “like”表示文本,“=”表示数字等等