2011-01-08 20 views
5

SQL関数を使用するのと同じ効果を得るために、文字列をvarbinaryに変換することが可能かどうか疑問に思っていましたCONVERT(varbinary, 'data')私はcodeigniterを使用しており、このクエリにアクティブなレコードを使用したいので、これはSQLの文字列を直接使用しないためですが、MS-SQLのvarbinaryフィールドにデータを挿入する必要があります。SQL関数を使用せずにPHPで文字列をvarbinaryに変換することは可能です

ありがとう:)

答えて

6

最新の十分なバージョンのPHPを使用している場合、文字列をバイナリとしてキャストできます。

$binary = (binary)$string; 

(バイナリ)鋳造およびbプレフィックスフォワードサポートはPHP 5.2.1あなたはまた

例を 変換を{パック機能を使用することができ

http://www.php.net/manual/en/language.types.type-juggling.php

+0

でより多くの例を見つけることができます。おかげで – Zen

2
public static function str2bin($str) { 
    return '0x'.strtoupper(bin2hex($str)); 
} 
+0

ありがとうまで、これは他の方法に変換するとき、これは私を非常に助けました。 '$ data = hex2bin(substr($ data、2));' – Brett

0

に加え326546、4356345、43646346、366357547}をvar-binaryに符号なし整数として

$ _BIN = pack( 'I *'、326546、4356345、43646346、366357547);

あなたはこれが私の問題を解決:)、5.3を実行している http://www.php.net/manual/en/function.pack.php