首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP无法处理大文本

问PHP无法处理大文本
EN

Stack Overflow用户
提问于 2015-12-05 07:27:58
回答 1查看 75关注 0票数 0

我正在开发一个网站,涉及用户将他们最喜欢的内容发布到网页上,所有的数据都存储在数据库中,并在网站上显示。然而,每当我尝试使用我创建的表单和处理表单的php脚本发布大段落时,它不会给出任何错误,但也不会将值存储到数据库中。如果要处理的内容很短,则可以正常工作。请帮我看看下面的代码。如有任何建议,我们将不胜感激。

代码语言:javascript
复制
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$database = "library";
$conn = mysql_connect($hostname,$username,$password)or die('Cannot connect');
mysql_select_db("library", $conn);
?>

<?php
$title = $_POST['title'];
$author = $_POST['author'];
$content = strval($_POST['content']);
$description = $_POST['description'];
$category = $_POST['category'];

if (isset($title) && !empty($title)){
    $sql = "INSERT INTO books(title,author,description,content,category) VALUES('$title','$author','$description','$content','$category')";
    mysql_query($sql);
    echo 'Successfully Added the book'."<a href='/'><br>Check it out here<a>";
}
else{
    echo 'Title is missing';
}
?>

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-12-05 07:39:10

首先,请使用PDO -如果没有,至少使用mysql_real_escape_string对POST参数进行转义

代码语言:javascript
复制
$title = mysql_real_escape_string($_POST['title']);
$author = mysql_real_escape_string($_POST['author']);
$content = mysql_real_escape_string($_POST['content']);
$description = mysql_real_escape_string($_POST['description']);
$category = mysql_real_escape_string($_POST['category']);

此外,strval不足以转义$_POST['content']以便在SQL查询中使用,mysql_real_escape_string (如上所述)更好。

一旦你解决了这些问题:

有两个可能失败的地方(我能想到的)

  • 你是否达到了内存限制?检查服务器的错误日志,您也许可以增加内存限制。
  • 您确定在MySQL中保存数据的列可以存储这么多数据吗?如果不是,您应该会收到MySQL错误(请参见http://php.net/manual/en/function.mysql-error.php
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34099193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档