PHP는 풍부한 데이터베이스 작업 API가 내장된 매우 인기 있는 서버측 프로그래밍 언어입니다. 개발자에게 있어 PHP를 능숙하게 사용하여 데이터베이스를 운영할 수 있는 능력은 매우 중요한 기술입니다. 이 기사에서는 PHP에서 데이터베이스 쿼리 문을 실행하는 방법에 중점을 둘 것입니다.
1. 데이터베이스 연결
PHP에서 데이터베이스 연결은 주로 mysqli나 PDO를 사용합니다. 다음은 mysqli를 사용하여 MySQL 데이터베이스에 연결하는 샘플 코드입니다.
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检查连接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
2. 쿼리 문 실행
데이터베이스에 성공적으로 연결되면 SQL 쿼리 문 실행을 시작할 수 있습니다. 다음은 mysqli를 사용하여 쿼리 문을 실행하는 샘플 코드입니다.
<?php $sql = "SELECT id, name, email FROM users"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?>
위 코드에서는 SELECT 문을 사용하여 데이터베이스에서 데이터를 읽고 mysqli_fetch_assoc() 함수를 통해 연관 배열에 데이터를 저장합니다. 마지막으로 while 루프 순회를 통해 쿼리 결과가 출력됩니다.
3. SQL 주입 공격 방지
데이터베이스 쿼리문 실행 시 SQL 주입 공격에 특별한 주의가 필요합니다. 아무런 보호 조치를 취하지 않을 경우 악의적인 사용자가 악의적인 SQL 문을 삽입하여 데이터 변조, 삭제 등 불법적인 작업을 수행할 수 있습니다. 따라서 실제 개발에서는 SQL 주입 공격을 피하기 위해 준비된 문을 사용하여 SQL 문을 사전 컴파일해야 합니다. 다음은 mysqli prepare 문을 사용하여 쿼리문을 실행하는 샘플 코드입니다.
<?php $stmt = $conn->prepare("SELECT id, name, email FROM users WHERE email= ? "); $email = "john@example.com"; $stmt->bind_param("s", $email); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } $stmt->close(); $conn->close(); ?>
위 코드에서는 먼저 prepare() 함수를 사용하여 SQL 문을 프리컴파일하고, 쿼리 조건을 find_param을 통해 SQL 문에 바인딩했습니다. () 방법. 마지막으로 get_result() 함수를 통해 쿼리 결과를 얻고, fetch_assoc() 메서드를 사용하여 데이터를 가져옵니다.
요약
이번 글에서는 mysqli와 PDO를 이용해 PHP에서 데이터베이스에 접속하고 쿼리문을 실행하여 SQL 인젝션 공격을 예방하는 방법을 소개했습니다. 이러한 기술을 배우고 익히면 PHP 개발 시 데이터베이스를 보다 능숙하게 운영하고 개발 효율성과 보안성을 향상시킬 수 있습니다.
위 내용은 PHP는 데이터베이스 쿼리문을 실행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!