我目前遇到这行代码的问题:
echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
基本上在创建页面时,我希望链接格式化为userdetails.php?USERNAME
,但由于我认为是语法错误,它会不断向我抛出错误。
任何帮助都会非常感激,我对PHP有点新鲜。
添加了注释:整个代码块都是这样(其他行有效):
while ($row = mysql_fetch_array($query)) {
echo "<tr>";
echo "<td>".$row[username]."</td>";
echo "<td>".$row[emailaddress]."</td>";
echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
echo "</tr>";
}
答案 0 :(得分:1)
这有两个原因:错误的引用和错误的数组索引引用。
太糟糕了:
echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
应该是
echo "<td><a href=\"userdetails.php?".$row['username']."\">View Details</a></td>";
或
echo '<td><a href="userdetails.php?'.$row['username'].'">View Details</a></td>";
这样也可以更加凌乱:
printf('<td><a href="userdetails.php?%s">View Details</a></td>', $row['username']);
答案 1 :(得分:0)
基本的PHP语法。如果您打开带引号的字符串,请再次使用该引号关闭字符串:
echo "<td>"<a href="userdetails.php?".$row[username].">View Details</a></td>";
^--open
^--close
^---huh?
您需要转义属于输出的内部引号:
echo "<td>\"<a href="userdetails.php?".$row[username].">View Details</a></td>";
^---
答案 2 :(得分:0)
使用
while ($row = mysql_fetch_array($query)) {
echo '<tr>';
echo '<td>'.$row["username"].'</td>';
echo '<td>'.$row["emailaddress"].'</td>';
echo '<td><a href="userdetails.php?'.$row["username"].'">View Details</a></td>';
echo '</tr>';
}
答案 3 :(得分:0)
while ($row = mysql_fetch_array($query)) {
?>
<tr>
<td><?= $row['username']; ?></td>
<td><?= $row['emailaddress']; ?></td>
<td><a href="userdetails.php?<?= $row['username']; ?>">View Details</a></td>
</tr>
<?php
}
仅在需要PHP时才打开PHP标记。
答案 4 :(得分:0)
试试这个
while ($row = mysql_fetch_array($query)) {
echo '<tr>';
echo '<td>'.$row['username'].'</td>';
echo '<td>'.$row['emailaddress'].'</td>';
echo '<td><a href="userdetails.php?'.$row[username].'">View Details</a></td>';
echo '</tr>';
}