如何在php中向数据库插入文本

如何在php中向数据库插入文本,php,html,mysql,Php,Html,Mysql,从文本区域输入字符串 line1 line2 ‘ ”line3″ <div>line4<div> 更好的方法是在保存到数据库时不使用nl2br。 在页面上打印文本区域值时,使用nl2br会更好 echo nl2br($dataFromDB); 嗯,我认为错误是由数据库中列的类型引起的!!! 它的类型是文本还是varchar 通常,请尽量获取特定的数据类型。如果您的字符串永远不会超过字符的某个上限,那么使用VARCHAR,因为这样会更有效率。如果需要更多空间,请使用文本

从文本区域输入字符串

line1
line2 ‘
”line3″
<div>line4<div>

更好的方法是在保存到数据库时不使用nl2br。 在页面上打印文本区域值时,使用nl2br会更好

echo nl2br($dataFromDB);

嗯,我认为错误是由数据库中列的类型引起的!!! 它的类型是文本还是varchar

通常,请尽量获取特定的数据类型。如果您的字符串永远不会超过字符的某个上限,那么使用VARCHAR,因为这样会更有效率。如果需要更多空间,请使用文本。如果您不确定文本将占用多少空间,您可能应该选择文本;性能差异不是很大,而且最好是经得起未来的考验,而不是在以后需求发生变化时冒险进行更改

VARCHAR您可以为每条记录接受的字符数设置限制,text是(实际上)无限制的

MySQL在创建临时表时,将在内部文本转换为varchar。因此,如果可能,最好使用VARCHAR

这实际上取决于您的数据类型

如果您的字段是固定长度的(例如32个字符的哈希值),则使用CHAR。这具有更好的性能,因为每一个条目每行占用相同的空间

VARCHAR的标准限制是255个字符,但我认为现在已经增加了。文本非常长,通常只用于大内容,比如整个博客帖子,如果你不想限制的话,也只用于评论

就大小而言,VARCHARTEXT之间没有(或几乎没有)区别,因为它们只存储所需的内容CHAR字段将始终占用分配的长度


我希望它能帮助您,向您致意。

您可以使用
PHP
功能

string urlencode(string$str)
对文本进行编码,然后插入数据库

$input=urlencode($input)

string urldecode(string$str)
对文本进行解码

$input=urldecode($input)


我给出的示例中没有向数据库插入任何内容。当输入有引号时。对于
htmlspecialchars
也是如此。
$input = $_POST['textarea'];
$input = trim($input);
$input = htmlspecialchars($input);
$input = nl2br($input);
$input = mysql_real_escape_string($input);
echo nl2br($dataFromDB);