如何在具有特殊字符的mysql上搜索数据?

时间:2019-03-29 16:45:40

标签: mysql

我正在做一个项目,并且在页面上有一个列表框B,该列表框包含我数据库中的数据,该数据是从另一个列表框A中过滤出来的,而这两个列表框是我查询所需报告的信息。问题在于列表框上的数据之一包含特殊字符,尤其是括号。如果我使用普通字符串查询报表,则确实有输出,但是如果列表框B上的筛选数据具有特殊字符,则不会显示任何应有的数据。

我已经使用了诸如mysqli_real_escape_string, COLLATE UTF8_GENERAL_CImysqli_query($conn,'SET NAMES utf8');之类的选项 mysqli_query($conn,"SET CHARACTER SET 'utf8'");,但要知道占上风。有人可以在这里帮助我吗?

$conn = mysqli_connect('localhost','root','','ERRORDB');
 mysqli_query($conn,'SET NAMES utf8');
mysqli_query($conn,"SET CHARACTER SET 'utf8'");
 $output = '';
$brgy_add = mysqli_real_escape_string($conn,$_POST['address']);

$sql  = "SELECT DISTINCT CONCAT(LASTNAME,', ',FIRSTNAME,' ',MATERNALNAME) AS Fname FROM voters WHERE BARANGAYNAME COLLATE UTF8_GENERAL_CI LIKE '{brgy_add}' AND CLEADER = 'LEADER' ORDER BY CONCAT(LASTNAME,', ',FIRSTNAME,' ',MATERNALNAME) ASC";

0 个答案:

没有答案