сохранить SQL-оператор в MySQL, а затем запустить его

Можно ли сохранить следующий оператор SQL в MySQL, а затем запустить его в подготовленном операторе?

Mysql таблица:

Имя таблицы: mystatements

Колонны: id, заявления

Следующий синтаксис хранится в заявления поле:

 SELECT id, AES_DECRYPT(secret,'$key') as txtsecret
FROM TABLE_1

Сейчас в php:

первый: я делаю запрос на выборку, чтобы получить мое утверждение

$stmt = $mysqli->prepare("SELECT statements FROM mystatements limit 1");
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$statement.=$row['txtstatement'];
}

второе: с помощью переменной ($ заявление) из запроса выше и добавьте его в запрос ниже, чтобы выполнить в подготовленном операторе:

$key='password123';
$stmt = $mysqli->prepare($statement);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row['txtsecret'];
}

Также мой сохраненный синтаксис содержит AES_DECRYPT (секрет, ‘$ ключ’) просто усложнять вещи. это то, что я пытаюсь достичь возможно? я пошел по этому пути совершенно неправильно?

0

Решение

Хорошо..

$key='password123';
$sql = str_replace('$key', $key, $statement); //replace $key to correct value
$stmt = $mysqli->prepare($sql);

Результат:

SELECT id, AES_DECRYPT(secret,'$key') as txtsecret FROM TABLE_1

в

SELECT id, AES_DECRYPT(secret,'password123') as txtsecret FROM TABLE_1
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector