草庐IT

php - 将文本区域保存到 MySQL 并保留换行符

想象一个博客或cms系统(PHP和MySQL)。我想让用户在文本区域中输入一些文本并将其保存到数据库中。数据库中字段的类型是TEXT。我想保留换行符并在以后打印它们。我知道我可以使用PHP的nl2br函数来做到这一点,但是我如何保护这个字符串免受SQL注入(inject)攻击(假设我不能使用准备好的语句)。如果我在上面使用mysql_real_escape_string,它不会再显示换行符。$text='onelineanotherline';$text=mysql_real_escape_string($text);/*savetodb,fetchitsometimelater*/e

php - 如何在 mySQL 数据库中正确存储 textarea 中的换行符?

我在提交和存储textarea内容时遇到了这个问题,对此我一直找不到合适的解决方案。我有一个表单,带有一个名为“描述”的文本区域。当我提交包含多行文本的表单时,例如Line1Line2Line3它以更多的新行存储在mySQL数据库中。它变成了:-Line1Line2Line3当我用phpmyadmin检查数据库时。VARCHAR和TEXT类型我都试过了,都是一样的。我需要做什么才能准确存储textarea内容?相关的codeigniter行是aRow[$strField]=strip_tags($this->input->post($strField));$this->db->inse

php - 我应该如何在 MySQL 数据库中存储换行符?

我在脑海中不停地转圈,试图决定在MySQL数据库中存储换行符的最佳方式。一些背景知识;要求用户完成文本区域。这必须存储在MySQL数据库中,然后才能被读回并将内容包含在HTML电子邮件中。我应该将它们存储为:1)字符串字面量——这肯定是危险的错误做法2)作为带有\r\n的字符串在-当我从数据库中读回它时,它被读取为4个字符,所以nl2br()无法正确替换它们。3)作为HTML-因为它必须是html实体编码才能存储,所以它最终被存储为<br/>所以当它到达电子邮件时打印而不是实际的换行符。通过html_entity_decode()将解码其他需要编码的字符。非常感谢任何帮助。

mysql - 如何在不删除换行符的情况下在 Sweave 中使用 SQL 查询格式化 R 源代码?

我正在使用R、MySQL、Sweave和LaTeX生成查询数据库的报告。我的问题是,由于R代码嵌入在.Rnw文件中,我似乎无法控制多行格式。我嵌入了以下R代码:library(RMySQL)con然后我在Sweave生成​​的PDF中得到以下输出:>library(RMySQL)>condataqueryCatCat结果是SELECT查询在页面外运行。有没有办法让LaTeX输出显示编写的SQL查询? 最佳答案 在代码块选项中添加keep.source选项,并设置为true>=query在latex源中是这样处理的:\begin{Sc

PHP MYSQL 换行长查询?

有点愚蠢的问题,但我正在学习也许你可以教我一些东西!!我有时有5或6行长的mysqli查询,我首先使用phpmyadmin测试它们,我可以在其中按enter键以将它们“布置”得更整洁,以便我在编码时看到。如果我将它们复制并粘贴到我的php文件中,它们将因为换行符而无法工作。我知道我可以添加到一个变量,并且让它像这样:$query="SELECTblablablabla";$query.="FROMtable...";$query.="WHERE...";但我只是想知道是否有更好/更简单/更好的方式来布置我的代码。我使用phpstorm并在其上进行了环绕处理,但在屏幕的边缘进行了环绕处理

php - 通过 PHP 从 MySQL 长文本到 HTML 的换行符

我在一个MySQL长文本单元格中输入了多行文本,我想以HTML格式显示这些文本。但是,当字符串以HTML格式显示时,我不知道如何保留换行符。例如,假设我在“内容”列中有以下文本:+-----------+|content|+-----------+|Line1.||||Line2.|+-----------+我想要这个显示:Line1.Line2.但是,我的PHP循环得到了这个结果:Line1.Line2.我使用下面的循环来echo我数据库中的文本。(我知道我不需要循环,但在实际项目中我显示的是多行数据)。$query=mysql_query("SELECT*FROMtableORDE

php - Mysql 不保留来自 Jquery ajax post 的换行符?

我有一个PHP/Mysql应用程序,它允许用户从表单发布文本。当我将HTML文本区域中的文本插入到我的mysql表中时,它不会保留回车符/换行符。文本在数据库中没有存储为“嘿SO,\n这是一个新行”。它在列中以空白存储(与键入时完全一样),但我无法使用nl2br()输出它并保留中断。我在像这样插入文本之前转义:$foo_text=mysql_real_escape_string(ucfirst($_POST['foo_text']));但即使我删除所有内容并只使用POST参数,它仍然会做同样的事情。这与我通过ajax序列化和发布此表单(我使用的是JQUERY)有什么关系吗?我找到了th

php - 为什么查询中的额外空格和换行符不好?

我不时看到人们说从客户端应用程序发送到服务器的SQL查询不应包含任何额外的换行符或空格。我听到的其中一个原因是“为什么要浪费网络流量?”。是否有真正的理由让代码更难阅读和编辑以支持删除所有空格?有空格:$q='SELECT`po`.*,`u`.`nickname`,`u`.`login`FROM`postponed_operations`AS`po`LEFTJOIN`users`AS`u`ON`u`.`id`=`po`.`user_id`ORDERBY`will_be_deleted_after`';returnmysql_query($q);没有空格:$q='SELECT'.'`po

前端处理后端返回的数据中有\n\n字样的换行符标识

后端返回的数据:上面圈着的部分就是\n,前端需要将数据进行换行,对于这类型的数据,在前端页面是需要进行稍微处理才能正常显示。如果没有经过处理,那么内容是不会在有换行符的位置进行换行显示的解决办法1:使用css属性:white-space:pre-line或white-space:pre-wrappre-wrap:连续的空白符会被保留。在遇到换行符或者元素,或者需要为了填充「行框盒子(lineboxes)」时才会换行pre-line连续的空白符会被合并。在遇到换行符或者元素,或者需要为了填充「行框盒子(lineboxes)」时会换行解决办法2:使用v-html输出文本v-html="xxx.re

mysql - 匹配除换行符之外的任何字符(mysql 正则表达式)

我想在mysql查询中使用使用正则表达式指令的正则表达式。正则表达式包含除换行符以外的任何字符的规则。SELECT*FROMcolumnregexp'EXP1.*=*.*EXP2'但mysql接缝将.*视为任何字符,包括换行符关于如何更改正则表达式以匹配除换行符以外的任何字符的任何想法谢谢 最佳答案 根据您的换行样式,您可以使用[^\n]*来匹配换行以外的任何内容,或者[^\n\r]*匹配换行符和回车符以外的任何内容。 关于mysql-匹配除换行符之外的任何字符(mysql正则表达式),