>  기사  >  백엔드 개발  >  PHP MySQL 작업 및 데이터 읽기 방법

PHP MySQL 작업 및 데이터 읽기 방법

jacklove
jacklove원래의
2018-05-07 13:02:222370검색

PHP MySQL의 데이터 읽기는 데이터베이스 작업에서 중요한 역할을 합니다. 이 기사에서는 데이터를 읽는 작업에 대해 자세히 설명합니다.

MySQL 데이터베이스에서 데이터 읽기

SELECT 문은 데이터 테이블에서 데이터를 읽는 데 사용됩니다.

SELECT column_name(s) FROM table_name

* 기호를 사용하여 모든 데이터 테이블의 필드를 읽을 수 있습니다.

SELECT * FROM table_name

SQL에 대해 자세히 알아보려면 SQL 튜토리얼을 방문하세요.

MySQLi 사용

다음 예에서는 myDB 데이터베이스의 MyGuests 테이블에서 id, firstname 및 lastname 열의 데이터를 읽고 이를 페이지에 표시합니다.

예(MySQLi - 객체 지향)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);} 
 $sql = "SELECT id, firstname, lastname FROM MyGuests";$result = $conn->query($sql); 
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";    }} else {
    echo "0 结果";}$conn->close();?>


위 코드는 다음과 같이 분석됩니다.

먼저 MyGuests 데이터 테이블에서 id, firstname 및 lastname 세 필드를 읽도록 SQL 문을 설정했습니다. 그런 다음 수정된 SQL 문을 사용하여 데이터베이스에서 결과 집합을 검색하고 이를 복사된 변수 $result에 할당합니다.

함수 num_rows()는 반환된 데이터를 결정합니다.

여러 개의 데이터 조각이 반환되면 fetch_assoc() 함수는 결합된 집합을 연관 배열에 넣고 루프로 출력합니다. while()은 결과 집합을 반복하고 세 개의 필드 값 id, firstname 및 lastname을 출력합니다.

다음 예제에서는 MySQLi의 프로세스 지향 접근 방식을 사용하며 그 효과는 위 코드와 유사합니다.

예제(MySQLi - 프로세스 지향)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {
    die("连接失败: " . mysqli_connect_error());}
 $sql = "SELECT id, firstname, lastname FROM MyGuests";$result = mysqli_query($conn, $sql); 
if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";    }} else {
    echo "0 结果";}
 mysqli_close($conn);?>

PDO 사용(+ 전처리)

다음 예제에서는 준비된 문을 사용합니다.

MyGuests 테이블에서 id, firstname 및 lastname 필드를 선택하여 HTML 테이블에 배치했습니다.

Example (PDO)

<?phpecho "<table style=&#39;border: solid 1px black;&#39;>";echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; 
class TableRows extends RecursiveIteratorIterator {
    function construct($it) { 
        parent::construct($it, self::LEAVES_ONLY); 
    }
 
    function current() {
        return "<td style=&#39;width:150px;border:1px solid black;&#39;>" . parent::current(). "</td>";    }
 
    function beginChildren() { 
        echo "<tr>"; 
    } 
 
    function endChildren() { 
        echo "</tr>" . "\n";    } } 
 $servername = "localhost";$username = "username";$password = "password";$dbname = "myDBPDO"; 
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); 
    $stmt->execute(); 
    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
        echo $v;    }}catch(PDOException $e) {
    echo "Error: " . $e->getMessage();}$conn = null;echo "</table>";?>

이 문서에서는 데이터베이스 읽기 작업 및 관련 지식, 더 많은 학습 자료를 설명합니다. PHP에 주의하세요. 볼만한 중국사이트.

관련 권장 사항:

PHP를 사용하여 이메일을 보내는 방법

PHP 쿠키 관련 지식 이해 및 사용

PHP 세션 캐싱 관련 지식 이해 및 사용


위 내용은 PHP MySQL 작업 및 데이터 읽기 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.