语法错误,意外的'' (T_ENCAPSED_AND_WHITESPACE),期待标识符

时间:2015-04-17 11:22:10

标签: php html mysql

<?php 

while ($row = $result->fetch_assoc()) {

echo "<input type =\"submit\" name=\"naam\" value=\"$row['naam']\">";

}

$result->free();
?>

如果我echo $row['name'],它会给出正确的结果,但是当我想将它放在表单标记中的HTML提交按钮中时。它说:

  

&#34;语法错误,意外&#39;&#39; (T_ENCAPSED_AND_WHITESPACE),期待   标识符&#34;

我知道我不必在['name']上使用逃避,因为我回复了#34;某些文字&#34;,所以我希望有人可以帮助我。

6 个答案:

答案 0 :(得分:3)

用大括号包裹它:

echo "<input type =\"submit\" name=\"naam\" value=\"{$row['naam']}\">";

旁注:如果您的字符串包含"双引号等字符,则会过早地终止它并中断标记,添加htmlspecialchars以确保在回显之前:

$row['naam'] = htmlspecialchars($row['naam']);

答案 1 :(得分:3)

检查string concatenation operator in PHP

最适合我的解决方案:

while ($row = $result->fetch_assoc()) {
    echo "<input type='submit' name='naam' value='".$row['naam']."'>";
}

while ($row = $result->fetch_assoc()) {
    echo '<input type="submit" name="naam" value="'.$row['naam'].'">';
}

请确保您使用htmlspecialchars()提前退出(在输出之前)一些字符,以确保您的代码不会毁掉:

$naam_value = htmlspecialchars($row['naam']);

答案 2 :(得分:3)

您的代码与\和双引号

进行对比

使用: -

echo "<input type ='submit' name='naam' value='".$row['naam']."'>";

答案 3 :(得分:0)

你需要使用。因为你想连接&#34;&#34;之间的字符串。值为$ row [&#39; naam&#39;]

echo "<input type =\"submit\" name=\"naam\" value=\".$row['naam'].\">";

答案 4 :(得分:0)

echo '<input type ="submit" name="naam" value="' . $row['naam'] . '">';

答案 5 :(得分:0)

你的字符串有问题:试试

<?php 
while ($row = $result->fetch_assoc()) {
echo "<input type ='submit' name='naam' value='".$row['naam']."'>";
}
$result->free();
?>
相关问题