【问题标题】:Remove unwanted spaces from values retrieved from sql database从从 sql 数据库检索的值中删除不需要的空格
【发布时间】:2014-02-16 08:50:43
【问题描述】:

我有一个简单的搜索表单,要求用户提供姓名和其他一些信息,它会在我拥有的 sql 数据库中查找它的条目。但是在比较名称字段时我遇到了问题,因为 sql 中保存的名称在名称前后有一些空格,因此比较失败。如何从“已检索”名称中删除空格?这是我用来将名称保存在数组中的一段代码。 我想从 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'].'"');

【问题讨论】:

  • 这段代码与您的描述相比如何?

标签: php sql


【解决方案1】:

当您使用 sql 名称时,请使用 trim 函数。示例:

where TRIM(sqlname) like "$phpVar";

【讨论】:

    【解决方案2】:

    数据库提供trim 函数来删除查询值中的前导和尾随空格。如果您已经查询而不修剪,您可以在从数据库中获取结果后使用您所使用的语言提供的string.trim 函数对其进行修剪。

    如果您想在 sql 查询中进行修剪,您必须编写 where 子句以使用数据库提供的修剪功能来即时修剪列。但是,请注意,由于动态修剪和可能的全表扫描,它可能会变慢。

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多