php - PHP mysqli,最大参数长度
问题描述
我正在开发一个用户可以上传文件的网络应用程序,然后我从该文件中获取原始数据:
$_fileData = file_get_contents("php://input");
并将其存储在我的数据库中:
$sql = "INSERT INTO connectivity_files (fileData, senderToken, referenceToken) VALUES (?, ?, ?)";
if ($stmt = $conn->prepare($sql))
{
$stmt->bind_param("sss", $_fileData, $_senderToken, $_referenceToken);
$stmt->execute();
var_dump($stmt);
$stmt->close();
return true;
}
$_fileData 变量可以很长(strlen() 返回例如 5519825)
fileData 存储为 LONGTEXT,最长可达 4294967295 字节,这有点奇怪,因为当我上传一个较小的文件(最大 1 MB,这个文件为 5.5MB)时,它确实有效。(TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 最大存储大小)
该查询不返回某种错误,(当我 var_dump 它返回这个:)
object(mysqli_stmt)#6 (10) {
[\"affected_rows\"]=>
int(1)
[\"insert_id\"]=>
int(19)
[\"num_rows\"]=>
int(0)
[\"param_count\"]=>
int(3)
[\"field_count\"]=>
int(0)
[\"errno\"]=>
int(0)
[\"error\"]=>
string(0) \"\"
[\"error_list\"]=>
array(0) {
}
[\"sqlstate\"]=>
string(5) \"00000\"
[\"id\"]=>
int(1)
}
我完全迷路了,非常感谢您的帮助!
编辑由于可能重复,
我不认为 PHP 方面的内存是问题,否则我无法正确获取最后一个字符或字符串的 strlen。
解决方案
推荐阅读
- linux - Python 3.7 altinstall 和安装 PIP:PyCharm:unix 系统
- mysql - 无法在 Ubuntu 16.04 上安装 MySQL 5.7
- python - Python,无法使用带有 anytree 包的 graphviz 绘制树
- c# - C# 实体框架和存储过程
- excel - 在日期范围内计算 Excel 中的单元格,但仅当大于其上方的单元格时
- css - 如何在 inline-block 之后删除这个空间?
- vivado - 将 axi timer 连接到 vivado 中的 microBlaze
- dictionary - 在 Swift 4 中使用 JSONEncoder 将 [String: Encodable] 字典编码为 JSON
- javascript - 未定义的返回函数nodejs
- node.js - 运行 DescribeAccountStatus 的 AWS Lambda 函数不在 NodeJS 中执行