我遇到了一个问题,我无法在文本框中输入文本,拥有大量文本,然后将其部署到我的 mySQL 表中。虽然我能够在 textarea 中“粘贴”大量文本并进行部署。这会正确保存到 mySQL。这对我来说真的没有任何意义!
索引.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。但是没有任何效果......还有想法?