>

다음 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'];
}

두 번째 : 위 쿼리에서 변수 ($statement)를 사용하여 아래 쿼리에 추가하여 준비된 명령문에서 실행하십시오 :

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

저장된 구문에는 문제를 복잡하게하는AES_DECRYPT (secret, '$key')도 포함되어 있습니다. 내가 달성하려고하는 것이 무엇입니까? 내가 완전히 잘못된 길을 갔었습니까?

  • 답변 # 1

    좋아 ..

    $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
    
    

    to

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

관련 자료

  • 이전 arguments - 파이썬에서 정렬/단락 getopt 플래그
  • 다음 python - 퍼셉트론 학습 알고리즘 분기