SQL Server — PHP & Mysql -Queries с использованием симметричного ключа дешифрования

Я пытаюсь использовать 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 Studio, я получаю результаты, возвращаемые успешно:

    71 Test Road

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

0

Решение

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

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

Увидеть Документация ADOdb Больше подробностей.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]