php - 存储新闻、文章等长文本的最佳数据类型。

标签 php mysql

当我尝试存储新闻条目时,这是我的问题,其中一些条目正在插入,但有些则没有。不知道是不是数据类型的问题。我只是复制在互联网上找到的一些新闻并将其粘贴到我的表格中。有人可以帮我解决这个问题吗?

我的数据库结构.. enter image description here

未插入的新闻示例。我在 wiki 中复制此文本并将其粘贴到我的新闻内容输入中。并没有起作用。 enter image description here

成功插入的新闻示例 enter image description here

这是我的添加代码。

 <?php
    include_once('connection.php');
    session_start();
   $username = ucfirst($_SESSION['username']);

  if(isset($_POST['submit'])){

    $title = $_POST['title'];
    $date = $_POST['date'];
    $content = $_POST['content'];
    $file=$_FILES['image']['tmp_name'];
    $image= @addslashes(file_get_contents($_FILES['image']['tmp_name']));
    $image_name= addslashes($_FILES['image']['name']);
    move_uploaded_file($_FILES["image"]["tmp_name"],"img/" . $_FILES["image"]["name"]);
    $newsimage="img/" . $_FILES["image"]["name"];



    $sql ="INSERT into news (news_title, news_date, news_content, news_image) VALUES ('$title', '$date', '$content', '$newsimage')";
    mysqli_query($con, $sql);

    echo '<div class="alert alert-success alert-dismissable" id="success-alert">';
   echo '<strong>Successfully posted!</strong>';
   echo '</div>';

  }




  ?>

最佳答案

这里几乎不会出错。

发布表单数据时需要使用 POST 而不是 GET。

如果数据在将其插入数据库之前已成功发布转义文本:

$content = mysqli_real_escape_string(stripslashes($_POST['content']));

LONGTEXT 适合较长的文本。除非您使用二进制数据(如图片等),否则不需要 LONGBLOB

关于php - 存储新闻、文章等长文本的最佳数据类型。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38341864/

相关文章:

php - 有代码,但这是什么错误?

php - 如何在 laravel 中返​​回 json 响应

mysql - 通过连接另一个表从另一列中按 id 选择名称

php - 计算mysql查询中的行数

mysql - 优化查询获取每个订阅者一天的总通话时长

php - 使用 PHP 显示 MySql 结果(下拉菜单)

php - 如何在 yii2 的模态窗口中使用 pjax 更新小部件

php - 如何在mysql中设置money的数据类型

php - Wordpress CSS 样式表不影响小部件输出

mysql - 在 WHERE 子句中使用 SELECT - Eloquent Laravel