正确插入区域到MySQL数据库并返回

时间:2012-12-20 10:37:51

标签: php mysql arrays html5 textarea

我在html(php)中有表单。此表单包括用于将日志从swich,路由器等保存到数据库的文本区域。
终端的命令行通常有80列(在线字节)所以我将atribute cols设置为80。

<tr>
  <td><label for="taskText">Text:</label> </td>
  <td><textarea name="taskText" id="taskText" cols="80" rows="10" required></textarea></td> 
</tr>

动机:为什么我这样做?我在数据库中有表colums id(INT-autoincrement),log1(TEXT),log2(TEXT)。

用户将两个日志保存到数据库中,然后我从数据库中获取它们并将log1保存到字段$ log1并将log2保存到字段$ log2,其中$ log1将是数组,其中键将是行。
例如: `

$log1[0]="line1";
$log1[1]="line2";
$log1[2]="line3";`

问题:所以问题是将日志的文本复制到textarea,然后将其正确保存到数据库(MYSQL)到TEXT类型的字段(我选择了这个希望)并保留行结束(以某种方式),然后将日志从数据库加载到数组,其中每个键将是一行(如示例中现在没有行尾的标记)。
我的解决方案
在保存到数据库之前使用函数nl2br并且从数据库使用函数使用函数爆炸:

$log1=explode("<br />", $stringWithLogLoadedFromDatabase);

但我不确定这是否是一个好的解决方案。还有其他想法吗?

注意:
我在那里写了一些我的解决方案的背景,但主要的问题是只有输入文本行(log)的末尾,我将复制到文本区域并保存到数据库。所以我现在需要能够使用线条的原始行尾。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下内容吗,

在字符串上使用htmlspecialchars()放入数据库,然后在将其拉回时,使用htmlspecialchars_decode()

这两个可能会根据您的查询生成输出。