<?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;,所以我希望有人可以帮助我。
答案 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();
?>