我是通过手机完成此操作,因此请随时为我编辑代码。谢谢:L
所以我有一个表单,我正在尝试将数据从MYSQL数据库传输到隐藏字段以便在表单中提交。但是,我发现如果数据库中的数据中有空格(即Hello那里),它只需要“Hello”并完全跳过“那里”。我如何解决这个问题,如果它不可修复,是否有办法绕过它?感谢。
$result = mysql_query("SELECT * FROM ##### ORDER BY `id` DESC");
while($row = mysql_fetch_array($result)) {
$test=$row['name'];
$id=$row['id'];
echo"<form method=post action=\"joingroup.php\"><input type=hidden name=test value=$test><input type=submit value=\"Submit\"></input></form>";
}
解答: 把变量放在变量附近。
答案 0 :(得分:4)
如果您的值中包含空格,则必须将该值括在HTML中的引号内:
试试这个:
echo "<form method=post action=\"joingroup.php\">
<input type=\"hidden\" name=\"test\" value=\"$test\">
<input type=\"submit\" value=\"Submit\">
</form>";
或者更好的是,使用单引号(和连接,因为PHP变量不在单引号内评估,就像它们是双引号一样):
echo '<form method="post" action="joingroup.php">
<input type="hidden" name="test" value="' . $test . '">
<input type="submit" value="Submit">
</form>';
或者,为了获得最佳效果,请不要echo
输出您的HTML。相反,退出PHP并跳回到echo
所需的变量:
<?php
// get values from DB, etc.
?>
<form method="post" action="joingroup.php">
<input type="hidden" name="test" value="<?php echo $test; ?>">
<input type="submit" value="Submit">
</form>
<?php
// resume processing here
?>
答案 1 :(得分:0)
检查数据库字段是否定义为VARCHAR并查看每个字段的长度。通常这可能是问题,我想不出别的什么。