我有一个二进制字符串,我正在尝试将其放入数据库中。为此,我尝试将其解压缩为二进制数组,然后将其插入数据库。但是一旦我这样做,blob列就会显示为空?我真的陷在这个问题上了。$ request-> recording是二进制字符串。
Var Dump看起来像这样,只是它的时间更长,但是我将其切断,否则它将太长
array(5177){ 2 => int(0)2 =>
int(1)[3] => int(0)[4] => int(0)[5] => int(0)[6] = >
int(255)[7] => int(255)[8] =>
插入数据库
function insertIntoTable($connection, $tablename, $request)
{
$stmt = $connection->prepare("INSERT into $tablename(game_name, gamer_tag, meta_data, recording) values (?, ?, ?, ?)");
$byteArray = unpack('C*', $request->recording);
var_dump($byteArray);
$stmt->bind_param("sssb", $request->game_name, $request->gamer_tag, $request->meta_data, $byteArray);
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error . " \r\n";
}
}
Base 64编码结果
字符串(1916)“AAEAAAD //////dGlvbnMuR2VuZXJpYy5MaXN0YDFbW1JlY29yZFJlcGxheURhdGEuRnJhbWVEYXRhLCBBc3NlbWJseS1DU2hhcnAsIFZlcnNpb249MC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0CAAAAAQAAAAkGAAAABAYAAACHAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUmVjb3JkUmVwbGF5RGF0YS5GcmFtZURhdGEsIEFzc2VtYmx5LUNTaGFycCwgVmVyc2lvbj0wLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAHFJlY29yZFJlcGxheURhdGEuRnJhbWVEYXRhW10CAAAACAgJBwAAAAEAAAABAAAABwcAAAAAAQAAAAQAAAAEGlJlY29yZFJlcGxheURhdGEuRnJhbWVEYXRhAgAAAAkIAAAADQMMCQAAAE1Vbml0eUVuZ2luZS5Db3JlTW9kdWxlLCBWZXJzaW9uPTAuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUIAAAAGlJlY29yZFJlcGxheURhdGEuRnJhbWVEYXRhBAAAAAZzZWNvbmQIcG9zaXRpb24Icm90YXRpb24Fc2NhbGUABAQECxNVbml0eUVuZ2luZS5WZWN0b3IzCQAAABZVbml0eUVuZ2luZS5RdWF0ZXJuaW9uCQAAABNVbml0eUVuZ2luZS5WZWN0b3IzCQAAAAIAAAAK16M8Bfb /// 8TVW5pdHlFbmdpbmUuVmVjdG9yMwMAAAABeAF5AXoAAAALCwsJAAAAAAAAAKAcdb8AAAAABfX /// 8WVW5pdHlFbmdpbmUuUXVhdGVybmlvbgQAAAAAAA / AAAAAAA / AAA8AAAAAAAAAAA5
问题是bind_param("sssb
因为它不应该是ab,而应该是末尾的s。bind_param("ssss
之所以这样,是因为我要插入二进制字符串而不是Blob。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句