$query="INSERT INTO `ARTICLES` (`TITLE`, `BY`, `IN`, `POST`)
VALUES('". $title ."', '". $by ."', '". $in ."', '". $_POST['post'] ."')";
此代码能够保存小长度的文本,但不是很大。该POST
字段的数据类型是长文本。此外,如果我通过 phpmyadmin 插入数据,它会被保存。
就像 Felix kling 说的那样,您需要转义您的帖子数据,因为您尝试保存的文本中可能有一些引号,但这会阻止您的查询正常运行,并且在发送到数据库之前不转义也是一个主要的安全风险。
$post = mysql_real_escape_string($_POST['post']);
$query="INSERT INTO `ARTICLES` (`TITLE`, `BY`, `IN`, `POST`)
VALUES('". $title ."', '". $by ."', '". $in ."', '". $post ."')";
还要确保您已将POST
列设置为 phpmyadmin 中的文本。因为如果您没有准备足够的空间,它将不会保存到数据库中。
$query="INSERT INTO ARTICLES (TITLE, BY, IN, POST) VALUES('$title', '$by', '$in', '". $_POST['post'] ."')";
使用此查询,并使用 PHPmyAdmin 将数据库字段的属性修改为 BLOB 文本。
当我需要插入大量内容时,我为我工作。
要在数据库中插入数据,请始终使用PreparedStatement!永远不要相信用户的输入!
我建议你使用 mysqli_stmt::send_long_data :http ://php.net/manual/en/mysqli-stmt.send-long-data.php 。手册/评论中有一些很好的例子。