我的参数在MySQL数据库中具有不同的名称(tags, tags2, tags3
),但是具有相同的GET方法或相同的列名称(tags
)。
代码如下:
$tags = $_GET['tags'];
$tags2 = $_GET['tags'];
$tags3 = $_GET['tags'];
$fetch = mysqli_query($conn, "SELECT * FROM users JOIN user_images ON users.username = user_images.username WHERE tags = '$tags' AND tags = '$tags2' AND tags = '$tags3' ORDER BY users.id DESC");
基本上,我试图在user_images
表中显示带有3个不同标签的所有图像。
这是我的网址的样子,但是它只显示一个标签,而不显示全部3:
https://www.example.com/app/user-tags.php?tags=aesthetic&tags2=food&tags3=dogs
第一个参数有效,但并非全部。谁能帮助我我哪里出错了?
我考虑过做类似的事情,在查询中使用tags = aesthetic,food,dogs
。但是问题在于,我认为结果将显示为“查找带有beautyfooddogs标签的所有图像”,而不是带有审美,食物和狗的标签。
答案 0 :(得分:2)
听起来您想在表格的tags
列中查找并找到URL中传递的值的任何匹配项。如果要查找任何标记值,请改用AND
到OR
。
$tags = $_GET['tags'];
$tags2 = $_GET['tags2'];
$tags3 = $_GET['tags3'];
$fetch = mysqli_query($conn, "SELECT * FROM users
JOIN user_images ON users.username = user_images.username
WHERE tags LIKE '%" . $tags . "%' OR
tags LIKE '%" . $tags2 . "%' OR
tags LIKE '%" . $tags3 . "%'
ORDER BY users.id DESC")