我正在做一個簡單的連接,像這樣$string = $a.' '.$b.' '.$c
而$b
是一個變量,可能爲空。因此,如果$b
爲空,那麼$string = $a.' '.' '.$c
,它似乎就像它在MySQL中。
然而,當我贊同它,$字符串只有$和$ C之間有一個空格時$b
爲空,一個空白失蹤神祕。
任何人有任何想法回合這裏發生了什麼?
PHP中的級聯:缺少空格
附加說明:我這樣做是因爲我忘記在60小時解析之前檢查$ middlename是否爲null。所以,現在在我的數據庫,也有正確形式的名稱,如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();
}
}
,我們可以看到一些你的PHP代碼? – slashingweapon
您是否迴應網絡瀏覽器? Web瀏覽器不會顯示多個連續的空間。 – Darrrrrren
$ name = $ list [「firstname」]。' '$列表[ 「中間名」。' 。」 $列表[ 「姓氏」]; \t if(strlen($ name)> 20){ \t \t // echo $ name。「
」; \t \t $ name_cut = SUBSTR($名,0,20); \t \t $ stmt = $ conn-> stmt_init(); \t \t $ sql ='UPDATE? SET'name' = replace('name',\'?',\'?\');'; \t \t如果($ stmt->製備($ SQL)){ \t \t \t $ stmt-> bind_param( 'SSS',$表,$ name_cut,$名); \t \t \t \t $ stmt->執行(); \t \t} – DanielZuo