我知道这是一个愚蠢的问题,但我很努力,但我无法弄清楚我在哪里错过逗号,我完全感到困惑,下面的代码给了我一个错误。
如果有人可以通过引用逗号和提示/技巧来帮助我,那就太棒了。
我尝试在不同的地方更换逗号,但它仍然没有成功。
<td><?php echo <a href="test1.php?id=<?php echo $row['ID'];?>"/>Download! ?></a></td>
谢谢:)
答案 0 :(得分:1)
必须是:
<td>
<?php
echo '<a href="test1.php?id=' . $row['ID'] . '">Download!</a>';
?>
</td>
可替换地:
<td>
<a href="test1.php?id=<?=$row['ID']?>">Download!</a>
</td>
答案 1 :(得分:0)
<td><a href="test1.php?id=<?php echo $row['ID'];?>"/>Download!</a></td>
试试这个
答案 2 :(得分:0)
要记住的一件重要事情是,您不必使用echo
输出静态HTML内容,仅用于动态部分,在您的情况下是变量。正确的版本如下:
<td><a href="test1.php?id=<?php echo $row['ID'];?>"/>Download!</a></td>
答案 3 :(得分:0)
直接方法通常是:
<td><a href="test1.php?id=<?php echo $row['ID'];?>">Download!</a></td>
通常它可以缩短,具体取决于你的php配置:
<td><a href="test1.php?id=<?= $row['ID'] ?>">Download!</a></td>
对我而言,第二种形式更具可读性,因此我的个人偏好。
答案 4 :(得分:0)
有一个带有开启/关闭php标记的冗余echo
,您也错误地自行关闭了a
标记。
在你的html模板中写下来就足够了:
<td>
<a href="test1.php?id=<?php echo $row['ID'];?>">Download!</a>
</td>
<?php
和?>
之间的代码是php代码,它被注入&#34;在html。
$row
是数组,使用$row['ID']
,您可以从数组ID
获取特定键的值。您也可以使用双引号(例如$row["ID"]
)访问此键的值,因为您希望访问由值为ID
的字符串引用的键。您可以使用单引号或双引号来包含字符串。
更多关于php手册中的字符串:http://php.net/manual/en/language.types.string.php
如果你想在字符串中使用相同的引号,你必须像
一样逃避它<?php
echo "This is double quote: \"."; //result: This is double quote: ".
?>
与单引号相同:
<?php
echo 'This is single quote: \'.'; //result: This is single quote: '.
?>
您可以使用数组中的值回显一些其他字符串,例如:
<?php echo "this row has id: " . $row["ID"]; ?>
所以你用字符串和点连接字符串和值。
或者您可以在字符串中访问变量的值,如:
<?php
$rowId = 1;
echo "this row has id: $rowId"; //result: this row has id: 1
?>
但很难发现它,很多IDE都不会强调它。更好的方法是将它与句点(echo "this row has id: " . $rowId;
)连接起来。
您也可以从数组中指定值,但是必须用{}
将其括起来,以便php引擎知道它是数组变量而不是文字
<?php echo "this row has id: {$row["ID"]}"; ?>
或对象属性:
<?php echo "this row has id: {$row->id}"; ?>
但是当你这样写它时,也很难发现它。
当你想要写下所有这些代码时,你可以用单引号括起来:
<?php
echo '<?php echo "this row has id: {$row["ID"]}"; ?>'; //result: <?php echo "this row has id: {$row["ID"]}"; ?>
?>
或转义所有双引号和美元符号$
,结果将相同:
<?php
echo "<?php echo \"this row has id: {\$row[\"ID\"]}\"; ?>";
?>