2014-03-03 43 views
0

我正在使用數據庫中的數據設置幾個文本框的值,如圖所示。來自數據庫的數據作爲PHP中文本框的值

$qry="select * from branch where id=4"; 
$res=$con->query($qry); 
$r=$res->fetch_assoc(); 

其實我打印表格與echo語句如下里面的文本框:

echo ' 
<td>Incharge:</td><td><input type="text" name="incharge" size="38" value='.'$r["incharge"])'.'></td>'; 

但問題是,它只能打印第一個字符串中的textbox.for egif的$ r [「incharge」]的取值爲Ankur Lakhani,但它僅打印Ankur。 任何解決方案??

+0

你缺少引號必須啓用short_open_tag的值爲:'值='<= $? r [「incharge」]?>'' –

+0

請參閱編輯的代碼。 – Ankur

+1

...value =「'。$ r [」incharge「]。'」... –

回答

3

你輸出HTML看起來像:

<input type="text" name="incharge" value=Ankur Lakhani> 

你可以通過突出顯示出來,它沒有解釋預期的方式。

它被解釋爲:

<input type="text" name="incharge" value="Ankur" Lakhani="Lakhani"> 

添加引號,以確保整個價值時:

<input type="text" name="incharge" value="Ankur Lakhani"> 

您還應該添加櫃面逃脫你的字符串包含HTML敏感的人物,如">

<input type="text" name="incharge" value="<?php echo htmlspecialchars($r["incharge"]); ?>"/> 

相關:htmlentities() vs. htmlspecialchars()

1

當輸出數據作爲文本輸入的值,你應該逃避它, 使用htmlentites功能:

<input type="text" name="incharge" value="<?php echo htmlentities($r["incharge"]); ?>"/> 

參考:http://it1.php.net/htmlentities

0

您忘記設置引號「」爲你的價值。

試試這個:

<?php 
$qry="select * from branch where id=4"; 
$res=$con->query($qry); 
$r=$res->fetch_assoc(); 
?> 
<input type="text" name="incharge" value="<?php echo $r['incharge'];?>"> 
0

如果問題是在你的客戶端,然後它會這個

'$r["incharge"])' 

改變它

"$r['incharge'])" 
0

嘗試,

value = "<?php echo $r['incharge']; ?>" 
0

試試這個

<input type="text" name="incharge" value="<?= $r['incharge'];?>"> 

或使用像<?= htmlspecialchars($r['incharge'])?>

在您的配置文件

相關問題