2016-07-13 6 views
0

対称キー解読を使用するSQLクエリを実行するためにPHPを使用しようとしています。しかし、私は結果を得ることができません。PHP&Mysql - 対称キー解読を使用するクエリ

私のPHPコードは次のようになります

$sql = "OPEN SYMMETRIC KEY ServerKey DECRYPTION BY CERTIFICATE ServerCertificate WITH PASSWORD = '[email protected]' SELECT CONVERT(nvarchar, DecryptByKey([address])) AS [address] FROM [serverDBO].[dbo].[allUsers] where id=63"; 

$result = $db->Execute("$sql"); 

var_dump($result); 

のvar_dumpコマンドの結果で:

オブジェクト(ADORecordSet_empty)#200(6){[ "のdataProvider"] =>列(5 ) "0" ["fields"] => bool(false) ["_numOfRows"] => int(0)["fields"] => bool(true) ["connection"] => bool(false)} empty10

  • しかし私の結果が正常に返されます、マイクロソフトのサーバー管理スタジオを介してデータベースに接続したときに、私は、まったく同じクエリを実行した場合:

    71テストロード

誰もがあるかもしれないものを助言することができますここで間違っているか、PHPでこれを正しく行うことができますか?あなたが最も可能性の高い文を実行した後、結果をフェッチする必要がありますので、ご$sqlSELECT文が、そこにあるで

答えて

0

$result = $db->execute($sql); 
while ($row = $result->fetchRow()) { 
    print_r($result); 
} 

は詳細についてADOdb documentationを参照してください。

P.S.​​コールの二重引用符は何もしません。省略することもできます。

+0

私は提案された改正案を作成しました。残念ながら、私はまだこれから何の結果も受けません。 – NAP50

+0

しかし、少なくとも別のエラーメッセージが必要です。おそらく何が間違っているのかを教えてくれるでしょう。 –

+0

上記のようにprint_rを使用すると、出力がまったくなくなり、エラーメッセージも表示されません。 私はvar_dumpコマンドを代わりに使用すると、何も返されていないことだけを示すようです。 – NAP50

関連する問題