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”的家具中选择名称,但是我必须在它前面放一个空间。可能值得清理数据库。检查数据是如何进入的