PHP 超链接不能用作变量
PHP Hyperlinks does not work as variables
我是 PHP 的初学者,所以可能会问一些愚蠢的问题。在打扰你们之前,我研究了我的问题几天。我有两种情况。
a) MySQL 数据库有 3 个字段。 description
、weblink
和 header
。 "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>";
}
我是 PHP 的初学者,所以可能会问一些愚蠢的问题。在打扰你们之前,我研究了我的问题几天。我有两种情况。
a) MySQL 数据库有 3 个字段。 description
、weblink
和 header
。 "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>";
}