SQL多个WHERE列与LIKE相结合



在搜索了整个www之后,我终于在这里提出了一个问题,希望能有比我更有能力的回复者。

我正在尝试在我的网页上实现全文搜索。Sql查询适用于一个WHERE条件,但不适用于多个条件。不幸的是,我不知道如何在EXIST/INNER JOIN或其他运算符的帮助下解决我的问题。工作代码:

$sql = "SELECT * FROM artikel WHERE author LIKE '$suchtext' LIMIT $offset, $no_of_abs";

不起作用的代码:

$sql = "SELECT * FROM artikel WHERE (author OR shorty OR vollartikel) LIKE '%$suchtext%' LIMIT $offset, $no_of_abs";

变量$suchtext是通过jquery$ajax POST和我的php脚本正确传递和接收的。

目标示例:

author  |   volltext  |  shorty
--------+-------------+---------
tulum   |   tul       |  asf
rae     |   zutotu    |  vizetu

$suchtext是"tu"结果:2行1&Row2

我感谢你的回答。

解决方案:

$sql = "SELECT * FROM artikel WHERE author LIKE '%$suchtext%' OR shorty LIKE '%$suchtext%' OR vollartikel LIKE '%$suchtext%' LIMIT $offset, $no_of_abs"; 

LIKE是一个接受两个字符串的二进制运算符。OR是一个对布尔值进行运算的布尔运算符。

你需要明确列出这一点:

(author LIKE ? OR
shorty LIKE ? OR
vollartikel LIKE ?
)

请注意,这使用?作为参数占位符。在应用程序中构造SQL查询时使用参数。

相关内容

  • 没有找到相关文章

最新更新