我从表单字段中获取数据。它包含
$city = "blr";
$field = "name";
$value= "mohai";
$sql = mysqli_query($con,"SELECT u.*, ad.*, ut.*, ci.*, st.* FROM user u, address ad, user_types ut, city ci, state st WHERE u.city_id=ci.id and ci.state_id=st.id and u.userId=ad.userId and
u.userType=ut.id and ci.city_name='".$city."' and u.".$field."='".$value."' and u.isDelete = '0'");
我使用上面的查询来获取所有数据。 我的问题是
用户表具有名称字段
例如:数据在用户表中 - > “mohaideen”
如果我给mohai这个名字字段。它应该过滤表中的数据。
如何为上述功能编写查询。
答案 0 :(得分:0)
要搜索模式,请在sql中使用%符号。 你的查询将是下面的一些事情
select from Table_name where some_property like modhi%;
答案 1 :(得分:0)
您可以在查询中使用LIKE来匹配字符串
$sql = mysqli_query($con,"SELECT u.*, ad.*, ut.*, ci.*, st.* FROM user u, address ad, user_types ut, city ci, state st WHERE u.city_id=ci.id and ci.state_id=st.id and u.userId=ad.userId and
u.userType=ut.id and ci.city_name='".$city."' and u.".$field." LIKE '%".$value."%' and u.isDelete = '0'");
答案 2 :(得分:0)
要在查询中匹配通配符,可以使用LIKE子句
$sql = mysqli_query($con,"SELECT u.*, ad.*, ut.*, ci.*, st.* FROM user u, address ad, user_types ut, city ci, state st WHERE u.city_id=ci.id and ci.state_id=st.id and u.userId=ad.userId and
u.userType=ut.id and ci.city_name='".$city."' and u.".$field." LIKE '%".$value."%' and u.isDelete = '0'");
答案 3 :(得分:0)
为此,您必须在查询中使用 LIKE 关键字
这是一个很好的例子
请参阅此link