PHP 超链接不能用作变量

PHP Hyperlinks does not work as variables

我是 PHP 的初学者,所以可能会问一些愚蠢的问题。在打扰你们之前,我研究了我的问题几天。我有两种情况。

a) MySQL 数据库有 3 个字段。 descriptionweblinkheader。 "weblink" 字段在数据库中存储网络链接。使用 PHP 我试图在用户单击字段 "header" 时在我的网页上显示网络链接。它不起作用 - 网页空白,代码如下。

while($row = mysqli_fetch_array($query)){   
     echo $row['description'];
     echo "<br>";
     echo "<br>";
     echo "<a href = $row['weblink'] > $row['Header']</a>";
     echo "<br>";
     echo "<hr>";
}

b) 场景 2:与上面的示例相同,但试图将我的数据库中的链接显示为按钮。

while($row = mysqli_fetch_array($query)){   
     echo $row['description'];
     echo "<br>";
     echo "<br>";
     echo $row['weblink'];
     echo "<br>";
     <a href = "$row['weblink']"<button>click me</button></a>;
     echo "<hr>";
}

请帮忙

考虑一下不起眼的 printf() 并应用适当的 输出转义 :

while ($row = mysqli_fetch_array($query)) {
    printf('%s<br><br><a href="%s">%s</a><br><hr>',
        htmlspecialchars($row['description'], ENT_QUOTES, 'UTF-8'),
        htmlspecialchars($row['weblink'], ENT_QUOTES, 'UTF-8'),
        htmlspecialchars($row['Header'], ENT_QUOTES, 'UTF-8')
    );
}

对于场景 1,您应该这样做(注意大括号):

echo "<a href='{$row['weblink']}'>{$row['Header']}</a>";

对于场景 2,您应该这样做(再次注意大括号):

echo "<a href=\"{$row['weblink']}\"><button>click me</button></a>";

请记住,大括号适用于双引号内的变量,而不适用于撇号。

回显中的括号被视为字符串而不是数组键所以使用 { } 这些 brackets.Also 你的引号不正确。使用下面的代码

while($row = mysqli_fetch_array($query)){   
echo $row['description'];
echo "<br>";
echo "<br>";
echo "<a href =' {$row['weblink']}' > {$row['Header']}</a>";
echo "<br>";
echo "<hr>";}

场景 2

while($row = mysqli_fetch_array($query)){   
echo $row['description'];
echo "<br>";
echo "<br>";
echo $row['weblink'];
echo "<br>";
echo '<a href = "{$row['weblink']}"><button>click me</button></a>';
echo "<hr>";}

希望对您有所帮助

Check the below code:

while($row = mysqli_fetch_array($query)){   
    echo $row['description'];
    echo "<br><br>";
    echo $row['weblink'];
    echo "<br>";
    echo '<a href = "'.$row['weblink'].'" class="add-button-style">click me</a>';
    echo "<hr>";
}