所以我和这里的人有同样的问题:
但是我没有看到任何真正的问题解决方案,除了那个人在第一个文章中发布的黑客分裂文本。这些脚本已经过测试,并且只需少量文本就可以保存到数据库中,并且php脚本也可以将大文本保存到txt文件中。所以这个问题就在数据库方面。
编辑:我发布的字段已设置为LONGTEXT
以下是我的脚本:
post.php中
<?php
$data=$_POST["SData"]; //Around 76kb of text
$rName=$_POST["regName"];
include_once './db_functions.php';
$db = new DB_Functions();
$db->insertText($rName, $data);
?>
db_functions.php
//Insert Text Data into DB
public function insertText($regId, $sdata) {
try {
mysql_query("UPDATE users SET textdata = '$sdata' WHERE id = '$regId'");
}
catch (PDOException $e) {
$output = 'Error performing update: ' . $e->getMessage();
}
}
我有以下问题:
我可以通过PHP发送到MySQL数据库的最大数据量(字符数?)是多少?我试图发布的所有文本都没有必要,所以在发布之前我可能会限制它。 (但越多越好)
是否有可以通过PHP发送大型数据库的实际解决方案? 可能使用的是mysqli_stmt :: send_long_data&#39;在这里找到:http://php.net/manual/en/mysqli-stmt.send-long-data.php? 是否有任何使用的例子不在手册中?
非常感谢任何帮助,谢谢!!
答案 0 :(得分:2)
如果您使用过时的mysql
扩展程序,则需要转义数据:
$sdata = mysql_real_escape_string($_POST['SData']);
最好使用PDO或mysqli并使用预处理语句。
答案 1 :(得分:0)
检查MySQL服务器上的max_allowed_packet
参数,它将是MySQL在查询中收到的最大值(以字节为单位)。
PHP也有memory_limit
配置参数。