Php 如何使$\u POST在搜索查询中表现得像$\u GET?
基本上,我有一个搜索查询,如果我将它与$\u GET一起使用,它可以正常工作,但我想对其中一个使用$\u POST(然后使用json返回)。但是我不知道如何做到这一点,以便搜索将在每个单词单独 这是我的搜索查询Php 如何使$\u POST在搜索查询中表现得像$\u GET?,php,mysql,html,search,post,Php,Mysql,Html,Search,Post,基本上,我有一个搜索查询,如果我将它与$\u GET一起使用,它可以正常工作,但我想对其中一个使用$\u POST(然后使用json返回)。但是我不知道如何做到这一点,以便搜索将在每个单词单独 这是我的搜索查询 SELECT DISTINCT(auto), user_id, username, first_name, last_name, email, sex, active, ppic, time_zone, adult_filter, ((CASE WHEN `username`
SELECT DISTINCT(auto), user_id, username, first_name, last_name, email, sex, active, ppic, time_zone, adult_filter, ((CASE WHEN `username` LIKE '%$search%' THEN 2 ELSE 0 END) + (CASE WHEN `first_name` LIKE '%$search%' THEN 1 ELSE 0 END) + (CASE WHEN `last_name` LIKE '%$search%' THEN 1 ELSE 0 END)) AS relevance
FROM users, network
WHERE `username` LIKE '%$search%' OR
`last_name`LIKE '%$search%'
OR `first_name` LIKE '%$search%'
ORDER BY relevance DESC, username LIMIT 5
所以基本上,我所需要做的就是让$search=$\u POST['search']
与这个查询一起工作。。。有人能告诉我这是怎么做到的吗
编辑:
看来我可以用$了。得到。。。(这很有意义)而不是$.post(这是我过去习惯的)并得到相同的结果。如果我错了,请随时纠正我,不过我会尝试一下,看看效果如何。使用-它包含
$\u GET
、$\u POST
和$\u COOKIE
使用-它包含$\u GET
的内容,$\u POST
和$\u COOKIE
您应该查看mysql,以便在多个列上进行相关性和匹配
SELECT DISTINCT(auto), user_id, username, first_name, last_name, email, sex, active, ppic, time_zone, adult_filter, ((CASE WHEN `username` LIKE '%$search%' THEN 2 ELSE 0 END) + (CASE WHEN `first_name` LIKE '%$search%' THEN 1 ELSE 0 END) + (CASE WHEN `last_name` LIKE '%$search%' THEN 1 ELSE 0 END)) AS relevance
FROM users, network WHERE MATCH (username, first_name, last_name) AGAINST ('$search' IN BOOLEAN MODE) ORDER BY relevance DESC, username LIMIT 5;
ADV对$u请求的建议将有助于捕获post和get
但是,您询问了搜索词中每个词的相关性。匹配也可以这样做,但您需要选择它作为列
SELECT MATCH (username, first_name, last_name) AGAINST ('$search') AS relevance, DISTINCT(auto), user_id, ...
别忘了在我提供的链接中查找匹配项。如果你是新手,你需要知道一些事情——比如要求在你想要搜索的列上使用myisam表和全文索引。你应该在mysql中查找多个列的相关性和匹配性
SELECT DISTINCT(auto), user_id, username, first_name, last_name, email, sex, active, ppic, time_zone, adult_filter, ((CASE WHEN `username` LIKE '%$search%' THEN 2 ELSE 0 END) + (CASE WHEN `first_name` LIKE '%$search%' THEN 1 ELSE 0 END) + (CASE WHEN `last_name` LIKE '%$search%' THEN 1 ELSE 0 END)) AS relevance
FROM users, network WHERE MATCH (username, first_name, last_name) AGAINST ('$search' IN BOOLEAN MODE) ORDER BY relevance DESC, username LIMIT 5;
ADV对$u请求的建议将有助于捕获post和get
但是,您询问了搜索词中每个词的相关性。匹配也可以这样做,但您需要选择它作为列
SELECT MATCH (username, first_name, last_name) AGAINST ('$search') AS relevance, DISTINCT(auto), user_id, ...
别忘了在我提供的链接中查找匹配项。如果你是新手,你需要知道一些事情——比如要求你要搜索的列有myisam表和全文索引。简单的回答是你不应该这样做 现在,答案很长 首先,为什么要对读取请求使用
$\u POST
?让我向您介绍HTTP上下文中的安全性和幂等性的概念
说明书上说:
如果窗体的处理是幂等的(即它没有持久的
对世界状态的可观察影响),然后是形式方法
应该得到。许多数据库搜索没有明显的副作用,而且
是查询表单的理想应用
关于HTTP GET
HTTP谓词GET
是专门为检索资源而创建的,不可能对其进行任何更改。我的意思是它是安全的。它不会引起任何副作用。在您的案例中,应该使用GET
请求从数据库获取数据并显示它。现有HTML页面、图像请求、数据库搜索等。。。这些都是应该使用GET
发出的安全请求
同时,幂等项意味着执行请求724次与执行一次具有相同的效果。幂等请求第一次可能会在数据库中创建一些内容,但不会再创建,或者下次只会返回对它的引用
HTML规范继续
特别是,该公约已经确立,缔约国
HEAD方法不应具有采取行动的意义
除了检索。这些方法应该被认为是“安全的”。
这允许用户代理表示其他方法,例如POST、PUT和PUT
并以特殊方式删除,以便用户了解
请求可能不安全的操作的事实
总之,请理解您不应该使用
POST
执行安全的只读操作。简单的回答是您不应该这样做
现在,答案很长
首先,为什么要对读取请求使用$\u POST
?让我向您介绍HTTP上下文中的安全性和幂等性的概念
说明书上说:
如果窗体的处理是幂等的(即它没有持久的
对世界状态的可观察影响),然后是形式方法
应该得到。许多数据库搜索没有明显的副作用,而且
是查询表单的理想应用
关于HTTP GET
HTTP谓词GET
是专门为检索资源而创建的,不可能对其进行任何更改。我的意思是它是安全的。它不会引起任何副作用。在您的案例中,应该使用GET
请求从数据库获取数据并显示它。现有HTML页面、图像请求、数据库搜索等。。。这些都是应该使用GET
发出的安全请求
同时,幂等项意味着执行请求724次与执行一次具有相同的效果。幂等请求第一次可能会在数据库中创建一些内容,但不会再创建,或者下次只会返回对它的引用
HTML规范继续
特别是,该公约已经确立,缔约国
HEAD方法不应具有采取行动的意义
除了检索。这些方法应该被认为是“安全的”。
这允许用户代理表示其他方法,例如POST、PUT和PUT
并以特殊方式删除,以便用户了解
请求可能不安全的操作的事实
总之,请理解您不应该使用
POST
执行安全的只读操作。根据$search
变量的来源,您的qu