首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySQL select时字符串的截断

使用MySQL select时字符串的截断
EN

Stack Overflow用户
提问于 2012-08-31 00:07:41
回答 2查看 77关注 0票数 0

我使用MySQL select拉取存储在数据库中的文本,以便将其显示在表单中,以便可以进行编辑。

当表单设置为时,数据库中保存的字符串在第一个空格处被截断,因此"Foo Bar“将显示为"Foo”。使用标记时不会发生这种情况。

我已经确保文本字段足够大,可以容纳整个字符串,并且字符的数量不受限制。

在数据库中,整个单词被存储,并且没有发生截断。我将类型设置为varchar(30),它有足够的空间来存储整个单词。我也尝试过将类型更改为文本,但仍然存在问题。

我在任何地方都找不到解决方案,有人知道为什么会发生这种情况吗?

代码语言:javascript
复制
 <?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\" value=" . $row["title"] . ">"; ?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-31 00:11:14

您应该提供从您的php页面生成的HTML示例。最有可能的是,您的值字符串没有被引用,例如,您的HTML表单如下所示:

代码语言:javascript
复制
<input type=text value=Foo Bar>

而不是

代码语言:javascript
复制
<input type=text value="Foo Bar">

这将产生您所看到的效果。

更新:根据您在评论中的示例,您确实缺少引号:

有问题的旧代码( value 属性值前后缺少引号)

代码语言:javascript
复制
<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
  value=" . $row["title"] . ">"; ?>

固定代码

代码语言:javascript
复制
<?php echo "<input type=\"text\" name=\"title[" . $row["id"] . "]\"
 value=\"" . $row["title"] . "\">"; ?> 

请注意,您已经正确引用了name属性,但没有正确引用value

票数 2
EN

Stack Overflow用户

发布于 2012-08-31 00:10:54

在没有相关代码的情况下,这只是一种猜测,但是您是否在不使用引号的情况下设置表单输入值属性?

例如,你在做这件事吗?

代码语言:javascript
复制
<input type="text" value=<? echo $value; ?> name="formInput" />

而不是正确的语法,这是什么?

代码语言:javascript
复制
<input type="text" value="<? echo $value; ?>" name="formInput" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12201106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档