我无法通过谷歌搜索正确的方法来查找URL中的变量。基本上我从表中的MySQL查询打印出一堆结果,我希望每行中的一个条目成为该结果页面的链接。我觉得这很容易,我只是在某个地方错过了撇号或反斜杠,但我无法弄明白。这是导致错误的行:
echo "<a href = \"movies.php/?movie_id='$row['movie_id']'\"> Who Owns It? </a> ";
这是我得到的错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
如何解决此错误?
此外,在URL中使用echo和变量的一般指导原则是什么?
答案 0 :(得分:2)
echo "<a href = \"movies.php/?movie_id='$row['movie_id']'\"> Who Owns It? </a> ";
这里有两件事应该改变。首先,不应该有/ after movies.php。第二个是url变量周围没有任何叛逆。它应该是movie_id = $ row ['movie_id']。每当我使用php变量时,我通常会将其连接起来,而不是将其嵌入引号中。所以最后我会做这样的事情:
echo "<a href=\"movies.php?movie_id=" . $row['movie_id'] . "\"> Who Owns It? </a>";
答案 1 :(得分:0)
Echo或URL与您的问题无关。这是PHP strings syntax。
答案 2 :(得分:0)
不允许双引号字符串中的$row['movie_id']
(特别是单引号)。可以在没有'
的情况下编写它,也可以使用花括号语法:
echo "<a href = \"movies.php/?movie_id='$row[movie_id]'\"> Who Owns It? </a> ";
echo "<a href = \"movies.php/?movie_id='{$row['movie_id']}'\"> Who Owns It? </a> ";
有关详细信息,请参阅variable parsing。
答案 3 :(得分:0)
这是一种更好的方式:
$movie_id = urlencode($row["movie_id"]);
echo '<a href="movies.php/?movie_id=', $movie_id, '"> Who Owns It? </a> ';
祝你好运!
答案 4 :(得分:0)
这是一种更好的方法:
$movie_id = urlencode($row["movie_id"]);
echo "<a href=\"movies.php?movie_id={$movie_id}\"> Who Owns It? </a> ";
易于阅读。除了单引号和双引号速度之外,事情不再是一个问题。