PHP超链接不能用作变量

时间:2015-01-14 04:26:04

标签: php html mysql hyperlink

我是PHP的初学者,所以可能会提出愚蠢的问题。在烦扰你们之前我研究了几天我的问题。我有两个场景。

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

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>";
}

请帮忙。

4 个答案:

答案 0 :(得分:1)

请考虑简陋的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 :(得分:1)

对于场景1,你应该做这样的事情(注意大括号):

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

对于方案2,你应该做这样的事情(再次注意大括号):

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

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

答案 2 :(得分:1)

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>";
}

答案 3 :(得分:-1)

echo中的括号被视为字符串而不是数组键所以请使用{}这些括号。此外,引号不正确。使用以下代码

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>";}

希望这有助于你