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