PHP脚本可以发送到MySQL TEXT字段的最大数据量?

时间:2014-05-30 21:13:09

标签: php mysql

所以我和这里的人有同样的问题:

但是我没有看到任何真正的问题解决方案,除了那个人在第一个文章中发布的黑客分裂文本。这些脚本已经过测试,并且只需少量文本就可以保存到数据库中,并且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();
    }

}

我有以下问题:

  1. 我可以通过PHP发送到MySQL数据库的最大数据量(字符数?)是多少?我试图发布的所有文本都没有必要,所以在发布之前我可能会限制它。 (但越多越好)

  2. 是否有可以通过PHP发送大型数据库的实际解决方案? 可能使用的是mysqli_stmt :: send_long_data&#39;在这里找到:http://php.net/manual/en/mysqli-stmt.send-long-data.php? 是否有任何使用的例子不在手册中?

  3. 非常感谢任何帮助,谢谢!!

2 个答案:

答案 0 :(得分:2)

如果您使用过时的mysql扩展程序,则需要转义数据:

$sdata = mysql_real_escape_string($_POST['SData']);

最好使用PDO或mysqli并使用预处理语句。

答案 1 :(得分:0)

检查MySQL服务器上的max_allowed_packet参数,它将是MySQL在查询中收到的最大值(以字节为单位)。

PHP也有memory_limit配置参数。