2012-08-30 162 views
0

我使用MySQL選擇存儲在我的數據庫中的文本,因此它以一種形式顯示,因此可以進行編輯。使用MySQL選擇字符串時的字符串選擇

當表單設置爲數據庫中保存的字符串在第一個空格處被截斷時,所以「Foo Bar」將顯示爲「Foo」。這在使用標籤時不會發生。

我已確保文本字段足夠大以容納整個字符串,並且章程的數量不受限制。

在數據庫中,整個單詞被存儲並且不發生截斷。我將類型設置爲varchar(30),這個空間足以存儲整個單詞。我也嘗試將類型更改爲文本,但仍然存在問題。

我無法在任何地方找到解決方案,難道有人會對這種情況發生的原因有所瞭解嗎?

<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" value=" . $row["title"] . ">"; ?> 
+0

由於您沒有發佈任何代碼,因此很難判斷該錯誤可能來自何處。通常情況下,這不會發生,我只能說。 – hakre

+2

請向我們提供[SSCCE](http://sscce.org/)。沒有任何代碼,很難幫助你。 –

回答

2

您應該提供從您的php頁面生成的HTML樣本。很可能,您的值字符串未被引用,例如你的HTML表單的外觀:的

<input type=text value=Foo Bar> 

代替

<input type=text value="Foo Bar"> 

這將產生完全的效果,你看到


更新:根據您的例子在評論,你確實缺少引號:

舊代碼的問題(缺少周圍屬性的值引號)

<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" 
    value=" . $row["title"] . ">"; ?> 

固定碼

<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" 
value=\"" . $row["title"] . "\">"; ?> 

請注意,您已經有了name屬性正確地引用,但是value不是。

+0

我只是看了一下,沒有被引用。使用php回顯時可能很難分辨出來。 – user1078385

2

沒有相關的代碼,這只是一個猜測,但你是否設置你的表單輸入值屬性而不使用引號?

例如,你在做這個嗎?

<input type="text" value=<? echo $value; ?> name="formInput" /> 

而不是正確的語法,這是什麼?

<input type="text" value="<? echo $value; ?>" name="formInput" />