Php 如何使用准备好的语句在varbinary数据库字段中保存字符串?
我搜索了很长时间,只是为了将一个简单字符串保存在MySQL数据库中的varbinary(4096)中。有一些解决方案,但没有一个有效Php 如何使用准备好的语句在varbinary数据库字段中保存字符串?,php,mysql,Php,Mysql,我搜索了很长时间,只是为了将一个简单字符串保存在MySQL数据库中的varbinary(4096)中。有一些解决方案,但没有一个有效 function addGCMRegistrationToken($username, $gcm_token) { //... $gcm_token_bin = (binary)$gcm_token; $gcm_token = unpack('H*', $gcm_token); $stmt->
function addGCMRegistrationToken($username, $gcm_token) {
//...
$gcm_token_bin = (binary)$gcm_token;
$gcm_token = unpack('H*', $gcm_token);
$stmt->bind_param('bs', $gcm_token, $username);
//...
}
我必须以某种方式将$gcm_令牌转换为varbinary
。无论是binary()
还是pack
都不会产生解决方案。数据库字段保持为空,但通常不会发生错误
有人能告诉我如何进行正确的转换吗?没有。它不是二进制的。这是一个通过POST获得的字符串。以二进制形式存储的原因是什么?您可以在varbinary中存储任何内容,包括字符串。为什么需要进行任何转换?这样效率更高。我想存储一个长度为4096的Google云消息注册id。此外,我对解决方案很好奇;)在空间或处理方面高效?我仍然不理解在插入之前进行任何转换的必要性。只需在收到时存储您的价值。它不是二进制的。这是一个通过POST获得的字符串。以二进制形式存储的原因是什么?您可以在varbinary中存储任何内容,包括字符串。为什么需要进行任何转换?这样效率更高。我想存储一个长度为4096的Google云消息注册id。此外,我对解决方案很好奇;)在空间或处理方面高效?我仍然不理解在插入之前进行任何转换的必要性。只需在收到时存储您的价值。