DB | PDO와 MySQLi

|

요약

PHP에서 데이터베이스에 진입하기 위해서는 안전한 방법을 사용하는 것이 좋습니다.
일반적으로는 mysqliPDO(php data object) 기반으로 사용되고 있습니다.

  • mysqli : mysql 영역만 데이터베이스 생성합니다.
  • PDO : mysql 뿐만 아니라 다른 12개의 데이터베이스 형에도 적용할 수 있습니다

mysqli 사용방법

<?php

$serverName = "localhost";
$username = "root";
$password = "";

$conn = mysqli_connect($serverName, $username, $password);

if (!$conn)
{
    die("연결 실패 : " . mysqli_connect_error());
}
else
{
    echo "연결 성공";
}

PDO 사용방법

<?php

$serverName = "localhost";
$username = "root";
$password = "";

try
{
    $conn = new PDO("mysql:host=$serverName;dbname=test", $username, $password);
    // PDO 오류 모드를 예외로 설정한다
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "PDO 연결 성공";
}
catch(PDOException $e)
{
    echo "PDO 연결 실패" . $e->getMessage();
}

PDO 설정

extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

PDO를 사용하기 위해서는 php.ini 에 있는 주석을 수정해야 합니다.
설정이 완료되었다면 phpinfo() 에서 설치되었는지 체크할 수 있습니다.

PHP mysqli_multi_query 사용법

한번여 여러개의 mysqli 처리를 할 때 도움을 받을 수 있습니다.

mysqli_multi_query(connection,query);

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
$mysqli->multi_query($query);
do {
    /* store the result set in PHP */
    if ($result = $mysqli->store_result()) {
        while ($row = $result->fetch_row()) {
            printf("%s\n", $row[0]);
        }
    }
    /* print divider */
    if ($mysqli->more_results()) {
        printf("-----------------\n");
    }
} while ($mysqli->next_result());

참조

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사