텍스트 상자에 텍스트를 입력하고 많은 양의 텍스트를 입력 한 다음 mySQL 테이블에 배치 할 수없는 문제가 있습니다. 텍스트 영역에 많은 양의 텍스트를 "붙여 넣을"수 있으며 배포 할 수 있습니다. 그러면 mySQL에 제대로 저장됩니다. 그것은 정말로 나에게 어떤 의미를 가지지 않는다!많은 양의 텍스트를 mySQL에 보내기
index.php를
<?php
include('../config.php');
?>
<html>
<head>
<title> </title>
</head>
<body>
<form enctype="multipart/form-data" action="post.php" method="POST">
<input type="text" name="title" value=""><br>
<textarea rows="4" cols="50" placeholder="Message" name="post">
</textarea><br>
<input type="hidden" name="date" value="<?php $script_tz = date_default_timezone_get();if (strcmp($script_tz, ini_get('date.timezone'))){echo date("F j, Y");}?>"><br>
<input type="hidden" name="timestamp" value="<?php $script_tz = date_default_timezone_get();if (strcmp($script_tz, ini_get('date.timezone'))){echo date("Y-m-d H:i:s");}?>"><br>
<input type="submit" value="Send" id="send">
</form>
</body>
</html>
post.php
<?php
$title=$_POST['title'];
$post=$_POST['post'];
$date=$_POST['date'];
$timestamp=$_POST['timestamp'];
mysql_connect("localhost", "root", "root") or die(mysql_error()) ;
mysql_select_db("root") or die(mysql_error()) ;
mysql_query("INSERT INTO `posts` VALUES ('$title', '$post', '$date', '$timestamp')") ;
header('Location: /');
?>
SQL (표가 호출 "게시물")
CREATE TABLE `posts` (
`title` varchar(200) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
`post` varchar(50000) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
`date` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
`timestamp` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
"날짜"와 "타임 스탬프"에 신경 쓰지 마십시오. 해당 행에 대한 테이블에 게시되는 데이터는 모두 숫자가 아닌 텍스트입니다. 나는 왜 "post"에 많은 양의 텍스트를 써서 mySQL에 저장할 수 없는지 확신 할 수 없다. BLOB, LONGTEXT 및 TEXT를 사용해 보았습니다. 하지만 아무 것도 효과가 없었어 ... 그리고 아이디어?
사용 '텍스트'필드 형식 굵은 글씨 (50000)' – sectus
: 당신은 post_max_size을 바꿀 것 . –