PHP에서 연속적인 MySQL 쿼리 실행
PHP 프로그래밍에서는 여러 개의 MySQL 쿼리를 연속적으로 실행할 수 있습니다. 그러나 일부 사용자는 그렇게 하려고 할 때 구문 오류를 경험했습니다. 이 문서의 목적은 이러한 문제를 해결하고 다중 쿼리 실행을 위한 적절한 방법을 사용하는 방법에 대한 지침을 제공하는 것입니다.
여러 쿼리를 실행하는 일반적인 접근 방식 중 하나는 각 쿼리 사이의 구분 기호로 세미콜론(;)을 사용하는 것입니다. 예를 들어 제공된 PHP 코드 조각에서 $sql 변수는 임시 테이블 생성, 임시 테이블 내의 행 업데이트, 임시 테이블의 데이터를 기본 테이블에 삽입 등 세 가지 MySQL 문을 연결합니다.
그러나 MySQL에서는 각 개별 문에 대해 새로운 쿼리 실행 호출이 필요합니다. 따라서 연결된 $sql 변수를 $conn->query($sql)와 함께 실행하면 구문 오류가 발생합니다.
이 문제를 해결하려면 그림과 같이 각 쿼리를 개별적으로 준비하고 실행하는 것이 좋습니다. 답변에 제공된 개선된 코드 조각에서:
$queries = [ "CREATE TEMPORARY TABLE tmp SELECT * FROM event_categoriesBU WHERE id = 1", "UPDATE tmp SET>
이 접근 방식은 각 쿼리를 자체 문으로 분리하고 적절한 실행을 허용합니다. multi_query 함수는 자리 표시자 값을 지원하지 않으므로 애플리케이션이 잠재적인 SQL 주입 취약점에 노출된다는 점에 유의하는 것이 중요합니다.
유연성과 적응성을 높이려면 MySQLi 대신 PDO(PHP 데이터 개체)를 사용하는 것이 좋습니다. PDO는 자리 표시자 값 지원 및 SQL 삽입에 대한 향상된 보안을 포함하여 더욱 강력한 기능을 제공합니다.
위 내용은 PHP에서 여러 MySQL 쿼리를 연속적으로 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!