Php 我正在尝试运行一个简单的搜索查询来搜索我的联系人表中的所有字段
我正在尝试运行一个简单的搜索查询来搜索我的联系人表中的所有字段。 基本上,我们希望在contacts表的所有字段中查找传入$valueToSearch的任何匹配记录。我的代码在下面 我收到错误消息-我正在尝试运行一个简单的搜索查询,以在我的联系人表中的所有字段上进行搜索。 我的sql查询中的结构有问题吗?我是PHP新手Php 我正在尝试运行一个简单的搜索查询来搜索我的联系人表中的所有字段,php,mysql,sql-like,Php,Mysql,Sql Like,我正在尝试运行一个简单的搜索查询来搜索我的联系人表中的所有字段。 基本上,我们希望在contacts表的所有字段中查找传入$valueToSearch的任何匹配记录。我的代码在下面 我收到错误消息-我正在尝试运行一个简单的搜索查询,以在我的联系人表中的所有字段上进行搜索。 我的sql查询中的结构有问题吗?我是PHP新手 $query = "SELECT `firstName`, `lastName`, `nickName`, `cellNumber` , `workNumber` , `hom
$query = "SELECT `firstName`, `lastName`, `nickName`, `cellNumber` , `workNumber` , `homeNumber` , `birthday` , `memo` FROM contacts LIKE '%".$valueToSearch."%' WHERE userId = '{$_SESSION['user_id']}' ";
不能将LIKE before WHERE子句和LIKE放在列之后。试着这样做:
$query = "SELECT `firstName`, `lastName`, `nickName`, `cellNumber` , `workNumber` , `homeNumber` , `birthday` , `memo` FROM contacts WHERE userId = '{$_SESSION['user_id']}' AND `fieldYouWantToFilter` LIKE '%".$valueToSearch."%' ";
您需要指定将在何处执行搜索的列。类似(仅搜索名字和姓氏,如果需要,添加更多或子句):$query=“选择
名字
,姓氏
,昵称
,手机号
,工作号
,家庭号
,生日
,备忘录
,来自联系人,其中(名字
类似于“%””“%$valueToSearch.”%'或lastNAME
类似“%$valueToSearch.”%')和userId
='{$\u会话['user\u id']}';非常感谢你。这很有效。如果我需要查找表中所有列的位置,是否必须手动键入所有列的名称?或者有更有效的方法指定所有列吗?可能重复的我没有对重复问题的答案投反对票,但请记住,如果$valueToSearch
来自用户提交或其他不可信的来源,则此查询容易受到注入攻击和一般查询不稳定。