【发布时间】:2017-01-22 16:19:03
【问题描述】:
我正在尝试运行 MySQL 查询,其中正在使用 LIKE 查找其中的片段。
表格结构:表格示例
id name piece
0 jon piece0
1 james piece3
2 sarah piece6
到目前为止我的截图:
$pieces = "piece0 piece1"; //variable
$piecearrayexplode = explode(" ", $pieces);
$piece0 = $piecearrayexplode[0];
$piece1 = $piecearrayexplode[1];
$sql = "SELECT * FROM TableExample WHERE piece LIKE '%$piece0%' OR pieces LIKE '%$piece1%'";
我遇到的问题是 $pieces 是一个变量,我需要 $sql 是动态的并自动包含正确数量的 LIKE 语句。
例如如果 $pieces = "piece0 piece1 piece2",我希望 $sql 是:
$sql = "SELECT * FROM TableExample WHERE piece LIKE '%$piecearrayexplode[0]%' OR pieces LIKE '%$piecearrayexplode[1]%' OR pieces LIKE '%$piecearrayexplode[2]%'";
注意:$pieces 总是用空格分隔。
我可以统计字数。
$count = str_word_count($pieces);
我不知道从那里去哪里。
我确实看过这个Create a dynamic mysql query using php variables
这似乎不是我要寻找的,因为 LIKE 是连续的,而不是像 WHERE 这样的 1 个单一语句。我在这里遗漏了什么吗?
【问题讨论】:
标签: php mysql sql-like dynamicquery