Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP选择longblob内存问题_Php_Mysql_Mysqli_Pdo_Blob - Fatal编程技术网

PHP选择longblob内存问题

PHP选择longblob内存问题,php,mysql,mysqli,pdo,blob,Php,Mysql,Mysqli,Pdo,Blob,我试图从mysql LONGBLOB字段中选择数据,但内存使用似乎失控。我试过PDO和mysqli。(插入数据没有问题) 调用var\u dump(memory\u get\u peak\u usage())时会发生什么在代码的不同位置?在实例化PDO之前,在执行查询之前,等hi-noam运行之前,它是低的:$stmt->fetch(PDO::fetch\u-BOUND);您真的确定在数据库中存储198MB对象是个好主意吗?我也不认为这是个好主意,我只是将select语句修改为“select L

我试图从mysql LONGBLOB字段中选择数据,但内存使用似乎失控。我试过PDO和mysqli。(插入数据没有问题)


调用
var\u dump(memory\u get\u peak\u usage())时会发生什么在代码的不同位置?在实例化
PDO
之前,在执行查询之前,等hi-noam运行之前,它是低的:$stmt->fetch(PDO::fetch\u-BOUND);您真的确定在数据库中存储198MB对象是个好主意吗?我也不认为这是个好主意,我只是将select语句修改为“select LEFT(contents,1000)”。并逐渐增加我选择的长度。。我看到内存使用量开始很小,并且增长失控(指数增长?)。
<?php
$path = 'test.txt';
$pdo = new PDO('mysql:host=localhost;dbname=db', 'user', 'pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, TRUE);
$stmt = $pdo->prepare("select contents from files where path = :path limit 1");
$stmt->bindValue(':path', $path, PDO::PARAM_STR);
$result = $stmt->execute();
$stmt->bindColumn(1, $data, PDO::PARAM_LOB);
$result = $stmt->fetch(PDO::FETCH_BOUND);
var_dump(strlen($data));
var_dump(memory_get_peak_usage());