PHP & Mysql -запросы с использованием симметричного ключа

Я пытаюсь использовать 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"] => string (5) "empty" ["databaseType"] => bool (false) ["EOF"] => bool (true) ["_numOfRows" ] => int (0) ["fields"] => bool (false) ["connection"] => bool (false)} empty10

  • Однако, если я выполняю точно такой же запрос при подключении к базе данных через Microsoft Management Server Studio, я получаю результаты, возвращаемые успешно:

    71 Test Road

Кто-нибудь может посоветовать, что здесь может пойти не так или как я могу правильно сделать это в PHP?

1 ответ

В вашем $sql E сть SELECT оператор, так что вам, скорее всего, нужно получить результат после выполнения оператора:

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

Смотрите ADOdb документацию для более подробной информации.

PS Двойные кавычки в твоей execute() Звони просто ничего не делай, можешь их опустить.

Другие вопросы по тегам