我正在尝试使用数据库中的值来构建一个字符串,并根据' Operating_System'
的值更改变量$ protocol$result = mysqli_query($con,"SELECT CONCAT('<OS=\"',Operating_System,'\" Protocol=\"RDP\"/>') as nodestring FROM `serverlist`;");
while($row = mysqli_fetch_array($result)) {
echo $row['nodestring'];
}
例如:如果&#39; Operating_System&#39;的价值!==&#39; Windows&#39;然后将$ protocol更改为&#34; SSH&#34;。 有关如何实现这一目标的任何帮助吗?
答案 0 :(得分:0)
我猜你看起来像这样:
$result = mysqli_query($con,
"SELECT CONCAT(
'<OS=\"', Operating_System, '\" Protocol=\"',
IF (Operating_System != 'Windows', 'SSH', 'RDP')
, '\"/>') as nodestring FROM `serverlist`;");
然而,这并不是建议这样做,您可以在查询后使用PHP实现这一点。根本不在你的mysql中使用HTML是一个好习惯。没有任何特殊原因,它会使事情变得更加复杂。所以我建议这样的事情:
$result = mysqli_query($con,
"SELECT Operating_System as operating_system FROM `serverlist`;");
while($row = mysqli_fetch_array($result)) {
$protocol = $row['operating_system'] != 'Windows' ? 'SSH' : 'RDP';
echo '<OS="' . $row['operating_system'] . '" Protocol="' . $protocol . '"/>';
}
第二个解决方案比第一个解决方案更易于维护,代码更具可读性。