如何在MySQL数据库中使用HTML表单搜索带有加号(+)的字符串


How to search for a string with a plus (+) sign using HTML form with MySQL database?

我有一个非常简单的表单,允许用户搜索公司名称。其中一个公司名称是"A+Service"。在提交表单之前,我如何构建表单以对加号(+)进行编码,从而允许用户输入"A+"并找到该公司?

表单通过POST提交。

需要一些背景知识来帮助解释。这是表单本身的代码:

<form action="/search_customer.php" method="post" enctype="multipart/form-data"
      id="search_form" onsubmit="return validateSearch(document.search_form);">
Search Customers:
<input id="search_text1" name="global_search_text" type="text" value="">
<input type="submit" name="global_search" id="global_search" value="Go">
</form>

当我们以"a+"作为搜索词提交此表单时,得到的SQL为:

SELECT * FROM tbl_customer
WHERE ( cus_fname LIKE '%a%' OR cus_lname LIKE '%a%');

我的理解是,在提交表单之前,我们需要对搜索字符串的值进行编码,但我们不清楚如何做到这一点。

我认为您的问题与+被翻译为空间有关。

如果您使用javascript发送数据,您可以首先encodeURIComponent该值。

在编写搜索查询时尝试使用mysql_real_sescape_string,按如下方式传递值。。。或者给我看你的截图。。。

mysql_real_escape_string($value)