1

我正在使用一个看起来像这样的简单循环:

$query = "SELECT * FROM $username"; 
$result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
        echo $row['id']. " - ". $row['file'];
        echo "<br />";
                echo "<form method="post" action="" style="width: 80px">
            <input name="Checkbox1" type="checkbox" /><input name="Submit1" type="submit"               value="submit" /></form>";

当我像这样运行它时,我收到一个错误,即 < 是意外的。我相信我可能做错了什么。是否有其他方法可以在 php 循环中输出表格。

4

5 回答 5

7

看到这一行:

echo "<form method="post" action="" style="width: 80px">
     ^             ^
     |             End of string
     Start of string

\"用相同类型的引号分隔的字符串中的转义引号 ( )。

于 2012-06-08T22:29:42.637 回答
4

引号中有引号。他们应该使用\.

echo "<form method=\"post\" action=\"\" style=\"width: 80px\">...";

您还可以使用单引号:

echo '<form method="post" action="" style="width: 80px">...';

单引号和双引号的区别在于单引号不显示变量:

<?php
$a = 'b';
echo '$a'; // output: $a
echo "$a"; // output: b
echo $a; // output b
于 2012-06-08T22:32:46.057 回答
1

我不知道这是否是唯一的问题,但您必须转义双引号:

echo "<form method=\"post\" action=\"\" style=\"width: 80px\">
        <input name=\"Checkbox1\" type=\"checkbox\" />
        <input name=\"Submit1\" type=\"submit\" value=\"submit\" />
      </form>";

您还可以使用简单的引号来分隔您的字符串:

echo '<form method="post" action="" style="width: 80px">
        <input name="Checkbox1" type="checkbox" />
        <input name="Submit1" type="submit" value="submit" />
      </form>';
于 2012-06-08T22:31:14.217 回答
0

您应该使用双引号或只使用单引号作为 echo 语句。

于 2012-06-08T22:34:55.757 回答
0

在没有反斜杠的双引号语句中,您不能使用双引号 ( ") 来指定字符串。你有三个选择:echo "<div id="pong" >;\"

  1. 改变你的第一个和最后"一个'
  2. 在代码中添加反斜杠。
  3. 连接字符串,如:echo"<form method="."post".">"
于 2012-06-08T22:35:04.013 回答