0

我正在尝试从数据库中选择值并将每个值放在单独的文本输入字段中。我的代码工作正常,但是,当我尝试在文本字段上显示字符串时,字符串在其第一个空格字符处被剪切或修剪。例如:

value #1: "my-picture.jpg"

value #2: "my name"

如果我将上面的两个值放入文本字​​段中,输出将是这样的:

value #1: my-picture.jpg
value #2: my

这是我正在处理的代码:

<?php 
$counter = 0;
while ($newArray = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
echo "
<input type='text' value=".$newArray['my_picture'].">
<input type='text' value=".$newArray['my_name'].">
";
?>

怎么了?谢谢你的帮助。

4

3 回答 3

7

您需要在 HTML 表单中引用您的值:

echo '
<input type="text" value="'.$newArray['my_picture'].'">
<input type="text" value="'.$newArray['my_name'].'">
';

htmlentities()同样,为了更好地衡量,使用或htmlspecialchars()在变量中的值上对特殊字符进行编码是个好主意:

echo '<input type="text" value="' . htmlentities($newArray['my_picture']) . '">
      <input type="text" value="' . htmlentities($newArray['my_name']) . '">';
于 2012-04-12T10:50:31.467 回答
2

尝试查看源代码.. 那说:

<input type='text' value=the content of your variable>

自然,“变量的内容”需要用引号括起来。所以; 将其更改为:

<?php 
$counter = 0;
while ($newArray = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
    echo '<input type="text" value="' . $newArray['my_picture'] . '">';
    echo '<input type="text" value="' . $newArray['my_name'] . '">';
}
?>
于 2012-04-12T10:51:26.663 回答
1

你需要用引号包围你的价值。就像是

echo "
  <input type='text' value='".$newArray['my_picture']."'>
  <input type='text' value='".$newArray['my_name']."'>
";
于 2012-04-12T10:51:01.457 回答