P粉6747571142023-09-05 11:18:10
사용자가 사용할 SQL 문을 제공하려면 원하는 테이블과 열의 이름을 알아야 합니다.
테이블을 쿼리하여 information_schema.COLUMNS
테이블 및 열 이름과 데이터 유형을 찾을 수 있습니다.
또는 쿼리를 실행한 후 열 메타데이터를 가져올 수 있습니다. PDO의 경우 $stmt->getColumMeta($columnNumber);를 사용하세요. mysqli를 사용하면 이와 같이 ->result_metadata()를 사용합니다(디버깅되지 않음).
으아악이것은 ->fetch_field()를 사용하여 결과 집합의 각 열에 대한 많은 유용한 정보를 얻습니다.
그러나 사용자에게 SQL 문을 제공하도록 요청하는 것은 큰 보안 위험입니다. 사용자가 SQL 문을 제공한다고 신뢰하는 경우 사용자가 데이터를 손상시키지 않을 것이라고 신뢰해야 합니다. 시스템이 글로벌 인터넷에 열려 있으면 데이터가 손실됩니다. 때때로 사람들은 나에게 이것을 어떻게 알았는지 묻습니다.