我有一个简单的搜索表单,要求用户提供一个名称和一些其他信息,它将在我拥有的sql数据库中查找它的条目。我在比较名称字段时遇到问题,因为sql中保存的名称在名称前后有一些空格,因此比较失败。如何从“RETRIEVED”名称中删除空格?这是我用来保存数组中名称的代码段。 我想从php代码中删除空格,而不是直接从数据库中删除。
$query = 'SELECT ID, FirstName, LastName from student WHERE';
$query_parts = array();
if($_GET['First_Name'] != "")
array_push($query_parts, ' FirstName="'.$_GET['First_Name'].'"');
if($_GET['Gender'] != "")
array_push($query_parts, ' Gender="'.$_GET['Gender'].'"');
答案 0 :(得分:0)
数据库提供trim
函数,用于从查询的值中删除前导和尾随空格。如果您在没有修剪的情况下查询过,则可以使用所用语言的string.trim
函数从数据库中获取结果后修剪它们。
如果要修剪sql查询,则必须编写where子句以使用数据库提供的trim函数来动态修剪列。但是,请注意,由于飞行修剪和可能的全表扫描,它可能会更慢。
答案 1 :(得分:0)
使用sql名称时使用trim函数。例如:
where TRIM(sqlname) like "$phpVar";