PHP& Mysql -Queries使用对称密钥解密

时间:2016-07-13 10:38:40

标签: php sql-server encryption encryption-symmetric adodb-php

我正在尝试使用PHP来执行使用对称密钥解密的SQL查询。但是我无法得到任何结果。

我的PHP代码如下所示:

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

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

var_dump($result);

var_dump命令导致:

  

object(ADORecordSet_empty)#200(6){[“dataProvider”] =>串(5)   “empty”[“databaseType”] => bool(false)[“EOF”] =>布尔(真)   [ “_numOfRows”] => int(0)[“fields”] => bool(false)[“connection”] =>   bool(false)} empty10

  • 但是,如果我通过Microsoft服务器管理工​​作室连接到数据库时执行完全相同的查询,我会成功返回结果:

    71 Test Road

有人可以告诉我这里可能出现什么问题,或者我如何在PHP中正确地做到这一点?

1 个答案:

答案 0 :(得分:0)

Reload the page to get source for: http://127.0.0.1:8000/myapp/logout中有一个$sql语句,因此您很可能需要在执行语句后获取结果:

SELECT

有关详细信息,请参阅ADOdb documentation

P.S。您$result = $db->execute($sql); while ($row = $result->fetchRow()) { print_r($result); } 电话中的双引号根本无效,您可以省略它们。