我在MySQL中有一个表,其中有此数据行. id = 187友好的名字=我不喜欢芥末文件类型= exe下面的第一段代码可以完美地工作,并将我不喜欢芥末酱的文本回显为HTML形式.同样,如果我将$row [‘friendlyname’]更改为$ro...

我在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);
}
本文标题为:PHP MySQL中有多个htmlspecialchars字符串


基础教程推荐
- 浅析JSONP解决Ajax跨域访问问题的思路详解 2022-12-28
- 如何在HTML / jquery中为Linux终端生成256个调色板 2023-10-25
- php – 我应该在我的数据库中使用哪种类型的html文本? 2023-10-26
- HTML5本地存储和本地数据库实例详解 2022-09-16
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08
- ajax调用中ie缓存问题解决方法 2022-10-18
- 非常简单的Ajax请求实例附源码 2022-10-17
- layui Ajax请求给下拉框赋值的实例 2023-02-22
- ajax中的async属性值之同步和异步及同步和异步区别 2022-10-17
- Web Components入门教程示例详解 2023-08-08