PHP:解析错误:语法错误,意外'' (T_ENCAPSED_AND_WHITESPACE)

时间:2015-12-27 09:28:30

标签: php html sql

我从sql db中获取价值并通过将Radio设置为唯一值来制作选项。出于这个原因,我将值= '<?php $row[' ']..... ;?>',但我每次都会收到错误。看起来我没有在value bcz中正确传递php,当我删除然后一切都很好。任何人都可以指导。

代码:

        while($row = mysql_fetch_array($query) or die(mysql_error())){

        echo '<form>';
            while ($row=mysql_fetch_array($query))
            {


                echo '<div class="boxed" >';

                echo "\t".'<tr><th>'.$row['question']."<br>".'</th><th>'."<input type='radio' name='optn' value=' <?php $row['A']; ?> '>".$row['A']."<br>".'</th><th>'."<input type='radio' name='optn' value='<?php $row['B']; ?>'>".$row['B']."<br>".'</th><th>'."<input type='radio' name='optn' value='<?php $row['C']; ?>'>".$row['C']."<br>".'</th><th>'."<input type='radio' name='optn' value='<?php $row['D']; ?>'>".$row['D'].'</th></tr>';
            //  echo '<tr><th>'.'<font size="5" color=#07c >'."<a href='reply.php?name=$id'>".$row['qtitle']."</a>".'</font>'.'</th><th>'."&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;".'<font size="2" color=#07c >'.$row['Date']."&ensp;&ensp;&ensp;".$row['Time']."<br>".'</font>'.'</th><th>'.$row['askquestion'].'</th></tr>';
            //  echo"<th> <a href ='delete.php?name=$id'><center>Delete</center></a></th></tr>";
                echo '<input type="submit" name="submit" />';

                echo '</div>';
            }
        echo '</form>';
        }

错误:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\New folder\htdocs\website\Quizes.php on line 245

2 个答案:

答案 0 :(得分:1)

您在引用的字符串中嵌入php标记的方式导致了问题。你会发现更容易格式化代码IMO!我认为以下情况应该没问题,现在将这些值封装在大括号中。

    while($row = mysql_fetch_array($query) or die(mysql_error())){

    echo '<form>';
        while ($row=mysql_fetch_array($query))
        {


            echo '<div class="boxed" >';

            echo "\t".'<tr><th>'.
            $row['question']."<br>".
            '</th><th>'."<input type='radio' name='optn' value='{$row['A']}'>".$row['A']."<br>".
            '</th><th>'."<input type='radio' name='optn' value='{$row['B']}'>".$row['B']."<br>".
            '</th><th>'."<input type='radio' name='optn' value='{$row['C']}'>".$row['C']."<br>".
            '</th><th>'."<input type='radio' name='optn' value='{$row['D']}'>".$row['D'].'</th>
            </tr>';
            echo '<input type="submit" name="submit" />';

            echo '</div>';
        }
    echo '</form>';
    }

下面是一个重写版本,我认为,它更好地说明了您提供的代码中的问题。

while( $row = mysql_fetch_array($query) or die(mysql_error())){
echo '<form>';
    while( $row=mysql_fetch_array( $query ) ){
        echo "
        <div class='boxed'>
            <tr>
                <th>
                    {$row['question']}<br>
                </th>
                <th><input type='radio' name='optn' value='{$row['A']}'>{$row['A']}<br>
                </th><th><input type='radio' name='optn' value='{$row['B']}'>{$row['B']}<br>
                </th><th><input type='radio' name='optn' value='{$row['C']}'>{$row['C']}<br>
                </th><th><input type='radio' name='optn' value='{$row['D']}'>{$row['D']}</th>
            </tr>
            <input type='submit' name='submit' />
        </div>";
    }
echo "</form>";
}

没有table标记,但您有trth标记,并且有一个嵌套的while循环...

答案 1 :(得分:1)

解析错误:

<?php $row['A']; ?>

您在php脚本中使用它可以将其用作

". $row['A'] . "