Можно ли сохранить следующий оператор 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 (секрет, ‘$ ключ’) просто усложнять вещи. это то, что я пытаюсь достичь возможно? я пошел по этому пути совершенно неправильно?
Хорошо..
$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
Других решений пока нет …