在PHP中是否可以不使用SQL函数将字符串转换为varbinary
我想知道是否可以使用PHP将字符串转换为varbinary,以获得与使用SQL函数在PHP中是否可以不使用SQL函数将字符串转换为varbinary,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,我想知道是否可以使用PHP将字符串转换为varbinary,以获得与使用SQL函数convert(varbinary,'data')相同的效果。我之所以这样做,是因为我使用的是codeigniter,并且希望使用活动记录进行此查询,因此不直接使用SQL字符串,但我需要将数据插入MS-SQL中的varbinary字段 谢谢:)如果您使用的是最新版本的PHP,则可以将字符串转换为二进制 $binary = (binary)$string; PHP5.2.1中添加了(二进制)强制转换和b前缀前向支持
convert(varbinary,'data')
相同的效果。我之所以这样做,是因为我使用的是codeigniter,并且希望使用活动记录进行此查询,因此不直接使用SQL字符串,但我需要将数据插入MS-SQL中的varbinary字段
谢谢:)如果您使用的是最新版本的PHP,则可以将字符串转换为二进制
$binary = (binary)$string;
PHP5.2.1中添加了(二进制)强制转换和b前缀前向支持
您也可以使用pack功能 范例 将{3265464435634543646346366357547}转换为无符号整数形式的var二进制 $_BIN=pack('I*',326546,4356345,43646346,366357547) 你可以在网站上找到更多的例子
谢谢,直到现在,这对我转换到另一种方式非常有帮助<代码>$data=hex2bin(substr($data,2))代码>这正是我想要的,但它以字符串形式返回一个二进制值。有没有办法解决这个问题,因为我需要一个原始二进制值来插入数据库,而不是varchar。
public static function str2bin($str) {
return '0x'.strtoupper(bin2hex($str));
}