我使用 MySQL select 提取存储在我的数据库中的文本,以便它显示在一个表单中,以便可以对其进行编辑。
当表单设置为数据库中保存的字符串时,会在第一个空格处被截断,因此“Foo Bar”将显示为“Foo”。使用标签时不会发生这种情况。
我已确保文本字段足够大以容纳整个字符串并且章程的数量不受限制。
在数据库中存储了整个单词,没有截断发生。我将类型设置为 varchar(30),它有足够的空间来存储整个单词。我也尝试过将类型更改为文本,但问题仍然存在。
我无法在任何地方找到解决方案,有人知道为什么会发生这种情况吗?
<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" value=" . $row["title"] . ">"; ?>
最佳答案
您应该提供从您的 php 页面生成的 HTML 示例。最有可能的是,您的值字符串未被引用,例如您的 HTML 表单如下所示:
<input type=text value=Foo Bar>
代替
<input type=text value="Foo Bar">
这将产生您所看到的效果
更新:根据您在评论中的示例,您确实缺少引号:
有问题的旧代码(value 属性值周围缺少引号):
<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
value=" . $row["title"] . ">"; ?>
固定代码:
<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
value=\"" . $row["title"] . "\">"; ?>
请注意,您已经正确引用了 name
属性,但 value
没有。
关于php - 使用 MySQL select 时截断字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201106/