Php MySQL值前面有空格吗?

Php MySQL值前面有空格吗?,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个名为furniture的MySQL表,设置如下: | id | name | identifier | =================================== | 1 | "? Block" | "?-block" | | 2 |"1-Up Block" | "1-up-block" | | 3 |"Alarm clock"|"alarm-clock" | 当我运行这个PHP代码时,返回的字符串是1-up-block,但

我有一个名为
furniture
的MySQL表,设置如下:

|  id  |    name     |  identifier  |
===================================
|  1   | "? Block"   |  "?-block"   |
|  2   |"1-Up Block" | "1-up-block" |
|  3   |"Alarm clock"|"alarm-clock" |
当我运行这个PHP代码时,返回的字符串是
1-up-block
,但在字符串的开头有一个空格;MySQL接口不显示此空间。它把我的程序搞砸了

$id = 2;
$fier = '';
$prep_stmt = 'SELECT identifier FROM furniture WHERE id = ?';
$stmt = $mysqli->prepare($prep_stmt);
if ($stmt) {
    $stmt->bind_param('i', $id);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($identifier);
    while ($stmt->fetch()) {
        $fier = $identifier;
    }
    $stmt->close();
}
echo $fier;

为什么会出现此空间,我如何才能消除它?

您可以对其执行类似的
查询。但是,如果您可以调整将此条目插入数据库的脚本,则可能值得清理数据库

SELECT name FROM furniture WHERE identifier LIKE "1-up-block"

为什么不使用
trim
函数
从id=?
的家具中选择trim(标识符)作为标识符呢?它可能在数据库中,也可能是您的代码添加了它。问题是我有时必须运行
从identifier=“1-up-block”的家具中选择名称,但是我必须在它前面放一个空间。可能值得清理数据库。检查数据是如何进入的