微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP MySQL中有多个htmlspecialchars字符串

我在MySQL中有一个表,其中有此数据行.

> id = 187
>友好的名字=我不喜欢芥末
>文件类型= 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; ?>'>

解决方法:

您尚未在while循环中添加括号,因此仅填充第一条记录.

该块:

while($row=MysqLi_fetch_array($result))
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES);
$filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES);

应该:

while($row=MysqLi_fetch_array($result)){
   $friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES);
   $filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐