我正在做一个像这样的简单连接$string = $a.' '.$b.' '.$c
并且$b
是一个可能为空的变量。因此,如果$b
为 null,则$string = $a.' '.' '.$c
, 并且在 MySQL 中似乎如此。
但是,当我回显它时,$string 在 $a 和 $c 之间只有一个空格,当$b
它为空时,一个空格神秘地丢失了。
有人知道这里发生了什么吗?
附加说明:我这样做是因为我忘记在 60 小时解析之前检查 $middlename 是否为空。所以现在在我的数据库中,有正确形式的adam c. johnson
名字和不正确形式的名字,比如名字和姓氏adam johnson
之间有两个空格。如果有一种方法可以消除那些不正确名称中的一个额外空格,它也可以解决我的问题。
评论中的代码:
$name = $list["firstname"].' '.$list["middlename"].' '.$list["lastname"];
if (strlen($name)>20) {
//echo $name."<br>";
$name_cut=substr($name,0,20);
$stmt= $conn->stmt_init();
$sql = 'UPDATE ? SET name=replace(name, \'?\', \'?\');';
if ($stmt->prepare($sql)) {
$stmt->bind_param('sss', $table, $name_cut, $name);
$stmt->execute();
}
}