PHP 및 PDO: 데이터베이스에서 데이터를 쿼리하고 표시하는 방법
소개:
웹 개발에서 데이터베이스는 매우 중요한 구성 요소입니다. PHP는 강력한 프로그래밍 언어이고 PDO(PHP Data Objects)는 데이터베이스 액세스를 위한 PHP의 확장입니다. 이 기사에서는 PHP와 PDO를 사용하여 데이터베이스의 데이터를 쿼리하고 표시하는 방법을 소개합니다.
1. 데이터베이스에 연결
먼저 PDO를 통해 데이터베이스에 연결해야 합니다. 다음은 MySQL 데이터베이스에 연결하기 위한 샘플 코드입니다.
$db_host = 'localhost'; $db_name = 'test'; $db_user = 'root'; $db_pass = ''; try { $conn = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "数据库连接成功!"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); }
위 코드에서는 PDO 생성자를 사용하여 데이터베이스 연결을 생성하고 일부 연결 옵션을 설정했습니다. 연결이 성공하면 "Database 연결 성공!"이 출력되고, 그렇지 않으면 오류 메시지가 출력됩니다.
2. 데이터 쿼리
데이터베이스에 성공적으로 연결되면 쿼리 문을 실행하여 데이터를 얻을 수 있습니다. 다음은 간단한 쿼리 예입니다.
$sql = "SELECT * FROM users"; $stmt = $conn->prepare($sql); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($results as $row) { echo $row['name'] . ', ' . $row['email'] . '<br>'; }
위 코드는 간단한 SELECT 문을 실행하여 "users"라는 데이터 테이블의 모든 데이터를 가져옵니다. prepare() 메소드를 사용하여 SQL 문을 준비하고,execute() 메소드를 사용하여 SQL 문을 실행한 다음, fetchAll() 메소드를 사용하여 쿼리 결과를 연관 배열에 저장했습니다. 마지막으로 foreach 루프를 사용하여 배열을 순회하고 각 데이터 행의 "이름" 및 "이메일" 필드를 표시합니다.
3. 데이터 표시
데이터를 얻은 후 웹 페이지에 표시할 수 있습니다. 다음은 간단한 예입니다.
<!DOCTYPE html> <html> <head> <title>用户列表</title> </head> <body> <h1>用户列表</h1> <table> <tr> <th>姓名</th> <th>邮箱</th> </tr> <?php foreach ($results as $row): ?> <tr> <td><?php echo htmlspecialchars($row['name']); ?></td> <td><?php echo htmlspecialchars($row['email']); ?></td> </tr> <?php endforeach; ?> </table> </body> </html>
위 코드는 HTML의 기본 구조를 사용하여 간단한 사용자 목록 페이지를 만듭니다. 우리는 foreach 루프를 사용하여 데이터 배열을 순회했으며 XSS 공격을 방지하기 위해 htmlspecialchars() 함수를 사용하여 데이터를 이스케이프했습니다.
요약:
이 글에서는 PHP와 PDO를 사용하여 데이터베이스의 데이터를 쿼리하고 표시하는 방법을 소개합니다. 먼저 데이터베이스에 연결한 다음 쿼리 문을 실행하여 데이터를 얻은 다음 마지막으로 웹 페이지에 데이터를 표시합니다. PDO의 강력한 기능을 사용하여 데이터베이스와 쉽게 상호 작용하고 데이터 표시 및 처리를 유연하게 처리할 수 있습니다. 이 기사가 웹 개발에서 PHP와 PDO를 사용하여 데이터베이스를 운영하는 데 도움이 되기를 바랍니다.
위 내용은 PHP 및 PDO: 데이터베이스에서 데이터를 쿼리하고 표시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!