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()
Звони просто ничего не делай, можешь их опустить.