์ต๊ณ ์ PHP PDO ํํ ๋ฆฌ์ผ 2024๋ , ์ด ํํ ๋ฆฌ์ผ์์๋ PDO ์ค์น,๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
PHP ๋ฐ์ดํฐ (PDO) ํ์ฅ ๊ฒฝ๋, ์ผ๊ด๋ ์ธํฐํ์ด์ค PHP ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค๋ฅผ ์ ์ ๊ฐ์ฒด.
PDO ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ, ๊ฐ์ ํจ์ (๋ฐฉ๋ฒ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ๊ฒ์ ํ ์์์ด ๊ฒ์ ์๋ฏธ์๋ ๋ฐ์ดํฐ ์ก์ธ์ค ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํ๋ค.
PHP5.0์์ ๋ฐํ PHP5.1์ด PECL ํ์ฅ๋ ์ฌ์ฉํ ์์๋ค๊ณผ PDO, ๋น์ ์ PHP์ ์ด์ ๋ฒ์ ์์ ์คํํ ์ ์์ต๋๋ค.
๋น์ ์ PDO ํ์ฅ์ด ์ค์น๋์ด์๋ ๊ฒฝ์ฐ PHP์ phpinfo๋ฅผ () ํจ์๋ฅผ ์ฐธ์กฐํ๊ธฐ ์ํด ํ ์์๋.
์ ๋์ค ๋ ๋ฆฌ๋ ์ค์์ ๋ค์๊ณผ ๊ฐ์ ํ์ฅ์ ์ถ๊ฐํด์ผํฉ๋๋ค :
extension=pdo.so
PDO ๋จ์ํ php.ini ํ์ผ์ ํธ์งํ๊ณ ๋ค์ ์ ๋ณด๋ฅผ ์ถ๊ฐ๋ฅผ ํ์ฑํํ๊ธฐ ์ํด, PHP์ ํจ๊ป ๋ฆด๋ฆฌ์ค ๊ณต์ ํ์ฅ ๋ฑ ๋ชจ๋ ์ฃผ์ ๋๋ผ์ด๋ฒ :
extension=php_pdo.dll๋ํ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋นํ๋ ๋ค์๊ณผ ๊ฐ์ ํ์ฅ ๊ธฐ๋ฅ์ด ์์ต๋๋ค :
;extension=php_pdo_firebird.dll ;extension=php_pdo_informix.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll
์ด๋ฌํ ๊ตฌ์ฑ์ ์ค์ ํ ํ, ์ฐ๋ฆฌ๋ PHP ๋๋ ์น ์๋ฒ๋ฅผ ๋ค์ ์์ํด์ผํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ทธ๋ค์ ๊ตฌ์ฒด์ ์ธ ์๋ฅผ ๋ณด๋ฉด ๋ค์, ๋ค์ ์์ ๋ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ๋ PDO๋ฅผ ์ฌ์ฉ :
<?php $dbms='mysql'; //ๆฐๆฎๅบ็ฑปๅ $host='localhost'; //ๆฐๆฎๅบไธปๆบๅ $dbName='test'; //ไฝฟ็จ็ๆฐๆฎๅบ $user='root'; //ๆฐๆฎๅบ่ฟๆฅ็จๆทๅ $pass=''; //ๅฏนๅบ็ๅฏ็ $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //ๅๅงๅไธไธชPDOๅฏน่ฑก echo "่ฟๆฅๆๅ<br/>"; /*ไฝ ่ฟๅฏไปฅ่ฟ่กไธๆฌกๆ็ดขๆไฝ foreach ($dbh->query('SELECT * from FOO') as $row) { print_r($row); //ไฝ ๅฏไปฅ็จ echo($GLOBAL); ๆฅ็ๅฐ่ฟไบๅผ } */ $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } //้ป่ฎค่ฟไธชไธๆฏ้ฟ่ฟๆฅ๏ผๅฆๆ้่ฆๆฐๆฎๅบ้ฟ่ฟๆฅ๏ผ้่ฆๆๅๅ ไธไธชๅๆฐ๏ผarray(PDO::ATTR_PERSISTENT => true) ๅๆ่ฟๆ ท๏ผ $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true)); ?>
์์ฃผ ๊ฐ๋จํ๊ณ ์ฐ๋ฆฌ๊ฐ ์ง์ ํ๋ ํน์ PHP์ PDO๋ฅผ ์ดํด ๋ณด์ :