Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的mysql长文本数据类型_Php_Mysql - Fatal编程技术网

php中的mysql长文本数据类型

php中的mysql长文本数据类型,php,mysql,Php,Mysql,我正在用PHP mysql为我的网站开发wap论坛。现在在论坛的描述中,我使用longtextdatatype。当用户输入超过1500个字符的描述时,它不会插入到数据库中。我已经搜索过了,并找到了类似的内容 tinytext256字节 文本65535字节~64kb MEDIUMTEXT 16777215字节~16MB 长文本4294967295字节~4GB 那么为什么不插入1500个字符以上的描述呢?这件事的解决方案是什么 编辑:用于插入的代码(取自注释): $top_desci来自: $to

我正在用PHP mysql为我的网站开发wap论坛。现在在论坛的描述中,我使用
longtext
datatype。当用户输入超过1500个字符的描述时,它不会插入到数据库中。我已经搜索过了,并找到了类似的内容

tinytext256字节

文本65535字节~64kb

MEDIUMTEXT 16777215字节~16MB

长文本4294967295字节~4GB

那么为什么不插入1500个字符以上的描述呢?这件事的解决方案是什么

编辑:用于插入的代码(取自注释):

$top_desci来自:

 $top_descri =nl2br(mysql_real_escape_string($_POST['top_descri']));

我已经解决了它,我使用了一些函数来检查描述的长度,该函数的限制是1500个字符,因此它停止工作。现在工作正常。

因为您正在使用GET方法提交表单?URL的限制为大约2000个字符。您应该改为使用POST

您的代码容易出现。使用

使用PDO的示例:

<?php
$stmt = $dbh->prepare("INSERT INTO forum_top(catID, forumN, forumDescr, 
                                       forum_time, uID, forum_attach) 
                      VALUES (?, ?, ?, ?, ?, ?)");

$stmt->bindParam(1, $cat_idd);
$stmt->bindParam(2, $top_namee);
$stmt->bindParam(3, $top_descri);
$stmt->bindParam(4, $tmform);
$stmt->bindParam(5, $n_u_id);
$stmt->bindParam(6, $newfilename);

$stmt->execute();

?>


请记住始终对输入进行消毒。你永远不会知道某些输入包含单引号。

你能发布你的插入代码吗?我的插入代码是:$sql1=“插入论坛顶部(catID、forumN、forumDescr、forum\u time、uID、forum\u attach)值($cat\u idd、$top\u namee’、$top\u desci’、$tmform’、$n\u id、$newfilename”);如果(!mysql_query($sql1,$con)){die('Error:'.mysql_Error());}并且是的,则显示时没有错误,只有页面停止加载…插入代码似乎没有任何错误,导致它在一定长度上删除任何内容-至少在您发布的部分中没有。你能补充一个问题吗?
$top\u desci
等变量来自何处,以及你在从(表单?我假设)获取数据和将它们输入查询之间对它们所做的任何事情?我已经使用了POST方法。我从未通过URL传递论坛描述。它应该可以工作,但是手册已经不鼓励使用它<代码>$top\u desci=nl2br($\u POST['top\u desci'])然后在参数上传递
$top\u desci
。尝试查看此链接,
<?php
$stmt = $dbh->prepare("INSERT INTO forum_top(catID, forumN, forumDescr, 
                                       forum_time, uID, forum_attach) 
                      VALUES (?, ?, ?, ?, ?, ?)");

$stmt->bindParam(1, $cat_idd);
$stmt->bindParam(2, $top_namee);
$stmt->bindParam(3, $top_descri);
$stmt->bindParam(4, $tmform);
$stmt->bindParam(5, $n_u_id);
$stmt->bindParam(6, $newfilename);

$stmt->execute();

?>