我在MySQL中有一张表,其中有一行数据如下:
- id = 187
- friendly name = 我不喜欢芥末
- filetype = exe
下面的代码块可以完美地工作,并将文本我不喜欢芥末回显到HTML表单中。同样地,如果我将$row['friendlyname']
更改为$row['filetype']
,则会回显文本exe。到目前为止都很好,没有问题。
<?php
$con = mysqli_connect('domain','user','pass','db');
$sql = "select * from installers where id=187";
$result = mysqli_query($con,$sql);
while($row=mysqli_fetch_array($result))
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES);
$con->close();
?>
<input type='text' value='<?php echo $friendlyname; ?>'>
我遇到的问题是如果同时使用$row ['friendlyname']
和$row ['filetype']
进行输出,那么只有排在第一位的变量会被输出。例如,在下面的代码中,$row ['friendlyname']
在$row ['filetype']
之前被列出。在这个例子中,只有$row['friendlyname']
(我不喜欢芥末)将被输出。同样地,如果$row ['filetype']
在$row ['friendlyname']
之前被列出,则只有$row ['filetype']
(exe)被输出,而第二个HTML输入表格为空。
<?php
$con = mysqli_connect('domain','user','pass','db');
$sql = "select * from installers where id=187";
$result = mysqli_query($con,$sql);
while($row=mysqli_fetch_array($result))
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES);
$filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES);
$con->close();
?>
<input type='text' value='<?php echo $friendlyname; ?>'>
<input type='text' value='<?php echo $filetype; ?>'>
注意1:输入类型表单的顺序并不重要。我排除了这个问题。
注意2:如果我用我想要输出的文本替换$row['friendlyname']
和$row['filetype']
,那么它就可以工作(以下代码)。所以,这肯定是与这些$row变量有关的问题。
<?php
$con = mysqli_connect('domain','user','pass','db');
$sql = "select * from installers where id=187";
$result = mysqli_query($con,$sql);
while($row=mysqli_fetch_array($result))
$friendlyname = i don't like mustard;
$filetype= exe;
$con->close();
?>
<input type='text' value='<?php echo $friendlyname; ?>'>
<input type='text' value='<?php echo $filetype; ?>'>