MySQLi 이중 절차 및 객체 지향 인터페이스

mysqli 확장은 이중 인터페이스를 제공합니다. 절차 및 객체 지향 프로그래밍 패러다임을 지원합니다.

이전 mysql 확장에서 마이그레이션하는 사용자는 절차적 인터페이스를 선호할 수 있습니다. 절차적 인터페이스는 이전 mysql 확장과 유사합니다. 대부분의 경우 함수 이름은 접두사만 다릅니다. 일부 mysqli 함수는 연결 핸들을 첫 번째 인수로 사용하는 반면 이전 mysql 인터페이스의 일치하는 함수는 연결 핸들을 선택적 마지막 인수로 사용합니다.

예제 #1 이전 mysql 확장에서 손쉬운 마이그레이션

                  
<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Please do not use the deprecated mysql extension for new development. ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];

$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$result = mysql_query("SELECT 'Use the mysqli extension instead.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($result);
echo $row['_msg'];
                  
                

위의 예는 다음을 출력합니다.

Please do not use the deprecated mysql extension for new development. Use the mysqli extension instead.
                

객체 지향 인터페이스

기존의 절차적 인터페이스 외에도 사용자는 객체 지향 인터페이스를 사용하도록 선택할 수 있습니다. 문서는 객체 지향 인터페이스를 사용하여 구성됩니다. 객체 지향 인터페이스는 기능을 목적별로 그룹화하여 표시하므로 시작하기가 더 쉽습니다. 참조 섹션에서는 두 구문 변형에 대한 예를 제공합니다.

두 인터페이스 사이에는 큰 성능 차이가 없습니다. 사용자는 개인 취향에 따라 선택할 수 있습니다.

예제 #2 객체 지향 및 절차적 인터페이스

                  
<?php

$mysqli = mysqli_connect("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'A world full of ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];

$mysqli = new mysqli("example.com", "user", "password", "database");

$result = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $result->fetch_assoc();
echo $row['_msg'];
                  
                

위의 예는 다음을 출력합니다.

A world full of choices to please everybody.
                

참조 섹션이 그렇게 구성되어 있으므로 빠른 시작에 개체 지향 인터페이스가 사용됩니다.

Mixing styles

언제든지 스타일 간에 전환할 수 있습니다. 코드 명확성과 코딩 스타일상의 이유로 두 스타일을 혼합하는 것은 권장되지 않습니다.

예제 #3 잘못된 코딩 스타일

                  
<?php

$mysqli = new mysqli("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'Possible but bad style.' AS _msg FROM DUAL");

if ($row = $result->fetch_assoc()) {
    echo $row['_msg'];
}
                  
                

위의 예는 다음을 출력합니다.

Possible but bad style.
                
기타