我在MYSQL表中有以下项目: “植物大战僵尸免费” 当我搜索“僵尸”或当我搜索“植物”时,将没有结果。 查询我使用:
SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE %Plants%
PHP代码:
$sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val . "' OR `COL 2` LIKE '%" . $val . "%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["COL 1"] . ";" . $row["COL 2"] . ";" . $row["COL 3"] . ";" . $row["COL 4"] . ";" . $row["COL 5"] . ";" . $row["COL 6"] . "<br>";
}else{
echo "0 results";}
我如何修改查询,以便在搜索任何部分时可以找到“植物大战僵尸”?
答案 0 :(得分:1)
您错过了%
$sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val . "%' OR `COL 2` LIKE '%" . $val . "%'";
.................................................................^
目前,您的查询仅搜索COL 1
以$val
结尾或COL 2
包含$val
的结果。
答案 1 :(得分:0)
你必须用这样的引号包围它
SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%Plants%'
答案 2 :(得分:0)
试试这个..
使用&#34;%&#34;价值之前和之后
$sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%$val%' OR `COL 2` LIKE '%$val%'";
$result = $conn->query($sql);
答案 3 :(得分:0)
试试这个:
$sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val1 . "' OR `COL 2` LIKE '%" . $val2 . "%'";
$result = $conn->query($sql);
将$ val1分配给&#39;植物&#39;和$ val2到&#39; Zombies&#39;