如何在表中搜索变量的一部分?

时间:2013-12-30 20:23:05

标签: php mysql

我需要构建一个查询,我想搜索变量的一部分。让我解释一下:

示例表:

  • ID COLOR
  • 01 red
  • 02 blue
  • 03 green

我还有一个变量$ product,其值为“red socks” 我该如何构建此查询?它应该是这样的:

$ query = mysql_query(“SELECT * FROM table WHERE color CONTAINS'$ product'”);

但是CONTAINS当然不是一个有效的论据。

5 个答案:

答案 0 :(得分:1)

使用赞:

SELECT Col1
FROM Table
WHERE Col1 LIKE 'PARTOFWORD%'

答案 1 :(得分:1)

$query = mysql_query("SELECT * FROM table WHERE '$product' like concat('%', Colour, '%')" );

小心使用$ product,如果让用户输入它,则会引发SQL注入攻击,例如在网站上。在生产环境中,使用绑定变量。

答案 2 :(得分:1)

使用like搜索查询中的字词。

$query = mysql_query("SELECT * FROM table WHERE colour LIKE '%$product%' " );

然后,如果您想按ID搜索颜色,请使用:

$query = mysql_query("SELECT * FROM table WHERE colour='%$idcolour%' " );

在用户控件上选择idcolour

答案 3 :(得分:1)

您需要类似条款:$query = mysql_query("SELECT * FROM table WHERE colour LIKE '%$product%' " );

答案 4 :(得分:0)

使用LIKE使用通配符(%)进行搜索:

SELECT * FROM table WHERE colour LIKE '%ellow%'