将带表格的简单新闻插入数据库 - 保留<br/>

时间:2011-09-19 18:17:43

标签: php mysql formatting mysql-real-escape-string nl2br

嗨伙计们, 这给了我很多困难。我有一个简单的表单,我将新闻复制/粘贴到我的数据库中以获取更多内容; 我无法实现nl2br方法,因为我发现了一些错误...也许是我缺少的东西。

以下是我的表格中的代码,来自我的Dreamweaver ......

$insertSQL = sprintf("INSERT INTO nwes (title, contentt, owner, `data`, hot) VALUES (%s, %s, %s, %s, %s)",
                   GetSQLValueString($_POST['title'], "text"),
                   GetSQLValueString($_POST['content'], "text"),
                   GetSQLValueString($_POST['owner'], "text"),
                   GetSQLValueString($_POST['data'], "date"),
                   GetSQLValueString($_POST['hot'], "text"));
  1. 我应该在哪里应用nl2br功能?

  2. 此外,我有自己的文章,我希望能够从我的Dreamweaver中将所有源文本粘贴到此处,包括格式化和其他标记。我不知道如何使用html_entities或mysql_real_escape_string ..或者你知道我的特定问题的另一个解决方案。

  3. 谢谢!

2 个答案:

答案 0 :(得分:1)

输出数据时应该应用

nl2br,而不是在存储数据时应用。

将数据插入数据库时​​,需要转义数据。我不确定GetSQLValueString()是什么或它返回什么,但你需要使用预准备语句或mysql_real_escape_string()来避免SQL注入。

编辑:看起来像GetSQLValueString(或者,至少我从Adobe找到的版本)处理转义并为您引用数据。

答案 1 :(得分:0)

你得到了什么样的错误?我不知道nl2br是什么,但我认为你有一些mysql错误。我相信你需要引用: VALUES('%s','%s'...)

这通常是我插入时出错的原因