{"id":695,"date":"2025-06-11T17:51:30","date_gmt":"2025-06-11T09:51:30","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/andweb\/695.html"},"modified":"2025-06-11T17:51:30","modified_gmt":"2025-06-11T09:51:30","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8php%e4%b8%ad%e4%bd%bf%e7%94%a8postgresql","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/695.html","title":{"rendered":"\u5982\u4f55\u5728PHP\u4e2d\u4f7f\u7528PostgreSQL"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;PHP&#20013;&#20351;&#29992;PostgreSQL&#25968;&#25454;&#24211;&#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#38656;&#27714;&#65292;&#23427;&#20801;&#35768;&#20320;&#22312;Web&#24212;&#29992;&#31243;&#24207;&#20013;&#36827;&#34892;&#25968;&#25454;&#23384;&#20648;&#21644;&#26816;&#32034;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#22522;&#26412;&#30340;&#27493;&#39588;&#26469;&#22312;PHP&#20013;&#36830;&#25509;&#21040;PostgreSQL&#25968;&#25454;&#24211;&#24182;&#25191;&#34892;&#26597;&#35810;&#12290;<\/p>\n<h3>1. &#23433;&#35013;PostgreSQL&#23458;&#25143;&#31471;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#23433;&#35013;PostgreSQL&#23458;&#25143;&#31471;&#24211;&#12290;&#23545;&#20110;Windows&#29992;&#25143;&#65292;&#21487;&#20197;&#19979;&#36733;&#36866;&#29992;&#20110;Windows&#30340;<code>libpq<\/code>&#24211;&#65292;&#24182;&#23558;&#20854;&#28155;&#21152;&#21040;&#31995;&#32479;&#30340;PATH&#29615;&#22659;&#21464;&#37327;&#20013;&#12290;<\/p>\n<h3>2. &#21019;&#24314;PHP&#33050;&#26412;<\/h3>\n<p>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;PHP&#25991;&#20214;&#65292;&#20363;&#22914;<code>connect_to_postgresql.php<\/code>&#65292;&#24182;&#22312;&#20854;&#20013;&#32534;&#20889;&#20197;&#19979;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#35774;&#32622;&#25968;&#25454;&#24211;&#36830;&#25509;&#21442;&#25968;\n$host = 'localhost';\n$dbname = 'your_database_name';\n$user = 'your_username';\n$password = 'your_password';\n\ntry {\n    \/\/ &#21019;&#24314;PDO&#23545;&#35937;\n    $pdo = new PDO(\"pgsql:host=$host;dbname=$dbname\", $user, $password);\n\n    \/\/ &#35774;&#32622;&#38169;&#35823;&#27169;&#24335;&#20026;&#24322;&#24120;\n    $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n    echo \"Connected to PostgreSQL successfully!\";\n} catch (PDOException $e) {\n    echo \"Connection failed: \" . $e-&gt;getMessage();\n}\n?&gt;<\/code><\/pre>\n<h3>3. &#36816;&#34892;PHP&#33050;&#26412;<\/h3>\n<p>&#23558;&#19978;&#36848;&#20195;&#30721;&#20445;&#23384;&#21040;&#20320;&#30340;&#26381;&#21153;&#22120;&#19978;&#65292;&#24182;&#36890;&#36807;&#27983;&#35272;&#22120;&#35775;&#38382;&#35813;&#25991;&#20214;&#65288;&#20363;&#22914;&#65306;<code>http:\/\/your_server_ip\/connect_to_postgresql.php<\/code>&#65289;&#12290;&#20320;&#24212;&#35813;&#20250;&#30475;&#21040;&#19968;&#26465;&#28040;&#24687;&#65292;&#34920;&#31034;&#25104;&#21151;&#36830;&#25509;&#21040;PostgreSQL&#25968;&#25454;&#24211;&#12290;<\/p>\n<h3>4. &#25191;&#34892;SQL&#26597;&#35810;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;PDO&#23545;&#35937;&#26469;&#25191;&#34892;SQL&#26597;&#35810;&#20102;&#12290;&#20363;&#22914;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#35774;&#32622;&#25968;&#25454;&#24211;&#36830;&#25509;&#21442;&#25968;\n$host = 'localhost';\n$dbname = 'your_database_name';\n$user = 'your_username';\n$password = 'your_password';\n\ntry {\n    \/\/ &#21019;&#24314;PDO&#23545;&#35937;\n    $pdo = new PDO(\"pgsql:host=$host;dbname=$dbname\", $user, $password);\n\n    \/\/ &#35774;&#32622;&#38169;&#35823;&#27169;&#24335;&#20026;&#24322;&#24120;\n    $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n    \/\/ &#25191;&#34892;&#26597;&#35810;\n    $stmt = $pdo-&gt;query(\"SELECT * FROM your_table_name\");\n\n    \/\/ &#33719;&#21462;&#32467;&#26524;&#38598;\n    $results = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n    \/\/ &#36755;&#20986;&#32467;&#26524;\n    foreach ($results as $row) {\n        echo \"ID: \" . $row['id'] . \", Name: \" . $row['name'] . \"&lt;br&gt;\";\n    }\n} catch (PDOException $e) {\n    echo \"Query failed: \" . $e-&gt;getMessage();\n}\n?&gt;<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;&#30456;&#20851;&#27493;&#39588;<\/h3>\n<h4>1. &#23548;&#20837;PDO&#31867;<\/h4>\n<pre><code class=\"language-php\">require_once 'vendor\/autoload.php'; \/\/ &#22914;&#26524;&#20351;&#29992;Composer&#31649;&#29702;&#20381;&#36182;\nuse PDO;<\/code><\/pre>\n<h4>2. &#37197;&#32622;&#25968;&#25454;&#24211;&#36830;&#25509;&#21442;&#25968;<\/h4>\n<pre><code class=\"language-php\">$host = 'localhost';\n$dbname = 'your_database_name';\n$user = 'your_username';\n$password = 'your_password';<\/code><\/pre>\n<h4>3. &#21019;&#24314;PDO&#23545;&#35937;<\/h4>\n<pre><code class=\"language-php\">try {\n    $pdo = new PDO(\"pgsql:host=$host;dbname=$dbname\", $user, $password);\n} catch (PDOException $e) {\n    die(\"Connection failed: \" . $e-&gt;getMessage());\n}<\/code><\/pre>\n<h4>4. &#35774;&#32622;&#38169;&#35823;&#27169;&#24335;<\/h4>\n<pre><code class=\"language-php\">$pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);<\/code><\/pre>\n<h4>5. &#25191;&#34892;SQL&#26597;&#35810;<\/h4>\n<pre><code class=\"language-php\">$stmt = $pdo-&gt;query(\"SELECT * FROM your_table_name\");\n$results = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\nforeach ($results as $row) {\n    echo \"ID: \" . $row['id'] . \", Name: \" . $row['name'] . \"&lt;br&gt;\";\n}<\/code><\/pre>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#22312;PHP&#20013;&#25104;&#21151;&#36830;&#25509;&#21040;PostgreSQL&#25968;&#25454;&#24211;&#24182;&#25191;&#34892;&#21508;&#31181;&#25805;&#20316;&#12290;&#24076;&#26395;&#36825;&#23545;&#20320;&#26377;&#24110;&#21161;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#24403;&#35848;&#21040;&#32593;&#39029;&#24320;&#21457;&#26102;&#65292;PHP&#21644;PostgreSQL&#30340;&#32467;&#21512;&#26159;&#38750;&#24120;&#24378;&#22823;&#30340;&#12290;PostgreSQL&#26159;&#19968;&#31181;&#39640;&#32423;&#24320;&#28304;&#25968;&#25454;&#24211;&#31995;&#32479;&#65292;&#20026;&#24320;&#21457;&#32773;&#25552;&#20379;&#20102;&#20851;&#38190;&#30340;&#21487;&#25193;&#23637;&#24615;&#21644;&#22797;&#21046;&#21151;&#33021;&#65292;&#20351;&#20854;&#25104;&#20026;&#22788;&#29702;&#22797;&#26434;&#25968;&#25454;&#24212;&#29992;&#30340;&#24120;&#35265;&#36873;&#25321;&#12290;&#23558;PHP&#19982;PostgreSQL&#38598;&#25104;&#65292;&#21487;&#20197;&#35753;&#24320;&#21457;&#32773;&#21019;&#24314;&#21160;&#24577;&#19988;&#22362;&#22266;&#30340;Web&#24212;&#29992;&#31243;&#24207;&#12290;&#26412;&#25945;&#31243;&#23558;&#25351;&#23548;&#24744;&#22914;&#20309;&#22312;PHP&#29615;&#22659;&#20013;&#20351;&#29992;PostgreSQL&#12290;<\/p><h3>&#20808;&#20915;&#26465;&#20214;<\/h3><p>&#22312;&#24320;&#22987;&#26412;&#25945;&#31243;&#20043;&#21069;&#65292;&#24744;&#38656;&#35201;&#23436;&#25104;&#20197;&#19979;&#35774;&#32622;&#65306;<\/p><p>PHP&#21644;SQL&#30340;&#22522;&#26412;&#30693;&#35782;&#12290;<\/p><p>&#25991;&#26412;&#32534;&#36753;&#22120;&#25110;PHP&#38598;&#25104;&#24320;&#21457;&#29615;&#22659;&#65288;IDE&#65289;&#12290;<\/p><p>&#35775;&#38382;&#32456;&#31471;&#25110;&#21629;&#20196;&#25552;&#31034;&#31526;&#12290;<\/p><p>&#24050;&#32463;&#23433;&#35013;&#24182;&#36816;&#34892;&#20102;PostgreSQL&#25968;&#25454;&#24211;&#12290;<\/p><p>&#19968;&#20010;&#24037;&#20316;&#29615;&#22659;&#30340; PHP &#29615;&#22659;&#65288;&#25512;&#33616;&#20351;&#29992; PHP 7.4 &#21450;&#20197;&#19978;&#29256;&#26412;&#65289;&#12290;<\/p><h2>&#23433;&#35013;PHP&#30340;PostgreSQL&#25193;&#23637;<\/h2><p>&#20026;&#20102;&#20351;&#29992;PHP&#19982;PostgreSQL&#25968;&#25454;&#24211;&#36827;&#34892;&#20132;&#20114;&#65292;&#24744;&#24517;&#39035;&#39318;&#20808;&#30830;&#20445;&#24744;&#30340;PHP&#23433;&#35013;&#25903;&#25345;PostgreSQL&#12290;PHP&#29992;&#20110;PostgreSQL&#30340;&#25193;&#23637;&#36890;&#24120;&#31216;&#20026;&lsquo;pgsql&rsquo;&#21644;&lsquo;pdo_pgsql&rsquo;&#12290;&#20197;&#19979;&#26159;&#23433;&#35013;&#23427;&#20204;&#30340;&#26041;&#27861;&#65306;<\/p><h3>&#22312;Ubuntu\/Debian&#19978;&#65306;<\/h3><pre><code>sudo apt-get update\nsudo apt-get install php-pgsql\n<\/code><\/pre><h3>&#22312;CentOS\/RHEL&#19978;&#65306;<\/h3><pre><code>sudo yum install php-pgsql\n<\/code><\/pre><h3>&#22312;Windows&#19978;&#65306;<\/h3><p>&#35831;&#23558;&#20197;&#19979;&#34892;&#22312;&#24744;&#30340;php.ini&#25991;&#20214;&#20013;&#27880;&#37322;&#25481;&#65306;<\/p><pre><code>extension=php_pgsql.dll\nextension=php_pdo_pgsql.dll\n<\/code><\/pre><p>&#37325;&#21551;&#24744;&#30340;Web&#26381;&#21153;&#22120;&#20197;&#24212;&#29992;&#26356;&#25913;&#12290;<\/p><p>&#19968;&#26086;&#21551;&#29992;&#25193;&#23637;&#65292;&#24744;&#23601;&#21487;&#20197;&#22312;PHP&#33050;&#26412;&#20013;&#20351;&#29992;PostgreSQL&#20989;&#25968;&#20102;&#12290;<\/p><h2>&#24314;&#31435;&#36830;&#25509;<\/h2><p>&#24314;&#31435;&#19982;&#24744;PostgreSQL&#25968;&#25454;&#24211;&#30340;&#36830;&#25509;&#26159;&#25191;&#34892;&#26597;&#35810;&#30340;&#31532;&#19968;&#27493;&#12290;&#20351;&#29992;<code>pg_connect()<\/code>&#35201;&#21019;&#24314;&#36830;&#25509;&#65292;&#35831;&#20351;&#29992;&#20197;&#19979;&#20989;&#25968;&#65306;<\/p><pre><code>$connection_string = \"host=localhost dbname=mydb user=myuser password=mypass\";\r\n$dbconn = pg_connect($connection_string);\r\n\r\nif (!$dbconn) {\r\n    echo \"Error: Unable to open databasen\";\r\n} else {\r\n    echo \"Opened database successfullyn\";\r\n}\r\n<\/code><\/pre><p>&#35831;&#26367;&#25442;<code>'localhost'<\/code>&#22909;&#30340;&#65292;&#35831;&#21457;&#36865;&#20320;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>'mydb'<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>'myuser'<\/code>&#21644;&#20320;&#19968;&#26679;&#12290;<code>'mypass'<\/code>&#35831;&#25552;&#20379;&#24744;&#30340;&#23454;&#38469;&#25968;&#25454;&#24211;&#20027;&#26426;&#12289;&#25968;&#25454;&#24211;&#21517;&#31216;&#12289;&#29992;&#25143;&#21517;&#21644;&#23494;&#30721;&#12290;<\/p><p>&#35201;&#20351;&#29992;PDO&#25193;&#23637;&#65292;&#21487;&#20197;&#25353;&#29031;&#20197;&#19979;&#26041;&#24335;&#25171;&#24320;&#36830;&#25509;&#65306;<\/p><pre><code>try {\r\n    $dsn = \"pgsql:host=localhost;port=5432;dbname=mydb;user=myuser;password=mypass\";\r\n    $db = new PDO($dsn);\r\n    echo \"Connected to database successfully\";\r\n} catch (PDOException $e) {\r\n    echo $e-&gt;getMessage();\r\n}\r\n<\/code><\/pre><h2>&#25191;&#34892;&#26597;&#35810;&#25805;&#20316;<\/h2><p>&#22312;&#26377;&#20102;&#26377;&#25928;&#30340;&#25968;&#25454;&#24211;&#36830;&#25509;&#21518;&#65292;&#29616;&#22312;&#21487;&#20197;&#20351;&#29992;PHP&#25191;&#34892;&#26597;&#35810;&#12290;&#20197;&#19979;&#26159;&#22312;&#20004;&#31181;&#26041;&#24335;&#19979;&#25191;&#34892;&#31616;&#21333;SELECT&#26597;&#35810;&#30340;&#31034;&#20363;&#65306;<\/p><h3>&#27969;&#31243;&#65306;<\/h3><pre><code>$result = pg_query($dbconn, \"SELECT id, name, email FROM users\");\r\n\r\nif (!$result) {\r\n    echo \"An error occurred.n\";\r\n    exit;\r\n}\r\n\r\nwhile ($row = pg_fetch_assoc($result)) {\r\n    echo \"Id: \" . $row['id'] . \"nName: \" . $row['name'] . \"nEmail: \" . $row['email'] . \"n\";\r\n}\r\n<\/code><\/pre><h3>PDO&#65288;&#23545;&#35937;&#20851;&#31995;&#26144;&#23556;&#65289;&#65306;<\/h3><pre><code>$stmt = $db-&gt;query(\"SELECT id, name, email FROM users\");\r\n\r\nwhile ($row = $stmt-&gt;fetch(PDO::FETCH_ASSOC)) {\r\n    echo \"Id: \" . $row['id'] . \"n\" .\r\n         \"Name: \" . $row['name'] . \"n\" .\r\n         \"Email: \" . $row['email'] . \"n\";\r\n}\r\n<\/code><\/pre><p>&#26597;&#35810;&#21151;&#33021;&#36820;&#22238;&#19968;&#20010;&#36164;&#28304;&#65292;&#21487;&#20197;&#19982;&#20854;&#20182;pg_&#20989;&#25968;&#65288;&#36807;&#31243;&#65289;&#19968;&#36215;&#20351;&#29992;&#65292;&#25110;&#32773;&#23427;&#20204;&#36820;&#22238;&#19968;&#20010;PDOStatement&#23545;&#35937;&#65292;&#21487;&#20197;&#36890;&#36807;&#35843;&#29992;fetch&#26041;&#27861;&#26469;&#36941;&#21382;&#23427;&#65288;PDO&#65289;&#12290;<\/p><h2>&#25554;&#20837;&#25968;&#25454;<\/h2><p>&#25554;&#20837;&#25968;&#25454;&#21040;&#25968;&#25454;&#24211;&#19982;&#26597;&#35810;&#25968;&#25454;&#36981;&#24490;&#31867;&#20284;&#27169;&#24335;&#12290;&#20363;&#22914;&#65306;<\/p><pre><code>$query = \"INSERT INTO users (name, email) VALUES ('John Doe', '[email&nbsp;protected]')\";\r\n$result = pg_query($dbconn, $query);\r\n\r\nif ($result) {\r\n    echo \"Record created successfully\";\r\n} else {\r\n    echo \"An error occurred.\";\r\n}\r\n<\/code><\/pre><p>&#20351;&#29992;PDO&#19982;&#39044;&#22788;&#29702;&#35821;&#21477;&#19981;&#20165;&#21487;&#20197;&#20351;&#25554;&#20837;&#21160;&#24577;&#25968;&#25454;&#21464;&#24471;&#26356;&#23481;&#26131;&#65292;&#36824;&#21487;&#20197;&#24110;&#21161;&#38450;&#27490;SQL&#27880;&#20837;&#65306;<\/p><pre><code>$stmt = $db-&gt;prepare(\"INSERT INTO users (name, email) VALUES (:name, :email)\");\r\n$stmt-&gt;bindParam(':name', $name);\r\n$stmt-&gt;bindParam(':email', $email);\r\n\r\n\/\/ insert a row\r\n$name = \"Jane Doe\";\r\n$email = \"[email&nbsp;protected]\";\r\n$stmt-&gt;execute();\r\n\r\necho \"New records created successfully\";\r\n<\/code><\/pre><h2>&#22788;&#29702;&#20132;&#26131;<\/h2><p>&#20107;&#21153;&#31649;&#29702;&#23545;&#20110;&#32500;&#25252;&#25968;&#25454;&#30340;&#23436;&#25972;&#24615;&#38750;&#24120;&#37325;&#35201;&#12290;&#20197;&#19979;&#26159;&#20351;&#29992;PDO&#22788;&#29702;&#20107;&#21153;&#30340;&#19968;&#20010;&#31616;&#35201;&#35270;&#22270;&#65306;<\/p><pre><code>try {\r\n    \/\/ Begin a transaction\r\n    $db-&gt;beginTransaction();\r\n\r\n    \/\/ Insert records\r\n    $db-&gt;exec(\"INSERT INTO users (name, email) VALUES ('Sam Smith', '[email&nbsp;protected]')\");\r\n    $db-&gt;exec(\"INSERT INTO products (name, quantity) VALUES ('Widget', 5)\");\r\n\r\n    \/\/ Commit the transaction\r\n    $db-&gt;commit();\r\n    echo \"New records created successfully\";\r\n} catch (Exception $e) {\r\n    \/\/ An error occurred; roll back the transaction\r\n    $db-&gt;rollback();\r\n    echo \"Error: \" . $e-&gt;getMessage();\r\n}\r<\/code><\/pre><p>&#36825;&#28085;&#30422;&#20102;&#20132;&#26131;&#30340;&#22522;&#26412;&#27010;&#24565;&#65292;&#20294;&#22312;&#29983;&#20135;&#24212;&#29992;&#20013;&#32771;&#34385;&#26356;&#22797;&#26434;&#30340;&#22330;&#26223;&#26102;&#65292;&#38656;&#35201;&#36827;&#19968;&#27493;&#30340;&#36923;&#36753;&#21644;&#38169;&#35823;&#22788;&#29702;&#12290;<\/p><h2>&#25688;&#35201;<\/h2><p>&#26412;&#25351;&#21335;&#28085;&#30422;&#20102;&#20351;&#29992;PHP&#19982;PostgreSQL&#36827;&#34892;&#22522;&#26412;&#25805;&#20316;&#25152;&#38656;&#30340;&#20851;&#38190;&#27493;&#39588;&#65292;&#21253;&#25324;&#23433;&#35013;&#24517;&#35201;&#30340;&#25193;&#23637;&#12289;&#24314;&#31435;&#25968;&#25454;&#24211;&#36830;&#25509;&#12289;&#25191;&#34892;&#26597;&#35810;&#12289;&#25554;&#20837;&#25968;&#25454;&#20197;&#21450;&#22788;&#29702;&#20107;&#21153;&#12290;&#36890;&#36807;&#25484;&#25569;&#36825;&#20123;&#22522;&#30784;&#30693;&#35782;&#65292;&#24744;&#21487;&#20197;&#26500;&#24314;&#21644;&#20132;&#20114;&#25903;&#25345;&#21160;&#24577;Web&#24212;&#29992;&#31243;&#24207;&#30340;&#24378;&#22823;&#25968;&#25454;&#24211;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#35201;&#22312;PHP&#20013;&#20351;&#29992;PostgreSQL&#65292;&#20320;&#38656;&#35201;&#39318;&#20808;&#23433;&#35013;&#24182;&#37197;&#32622;&#22909;PostgreSQL&#25968;&#25454;&#24211;&#21644;PHP&#30340;PDO&#65288;PHP Data Objects&#65289;&#25193;&#23637;&#12290;&#20197;&#19979;&#26159;&#35814;&#32454;&#30340;&#27493;&#39588;&#65306;<\/p>\n<h3>&#27493;&#39588; 1: &#23433;&#35013;PostgreSQL<\/h3>\n<p>&#30830;&#20445;&#20320;&#30340;&#31995;&#32479;&#19978;&#24050;&#23433;&#35013;&#20102;PostgreSQL&#12290;&#22914;&#26524;&#23578;&#26410;&#23433;&#35013;&#65292;&#35831;&#35775;&#38382;&#23448;&#26041;&#32593;&#31449;&#19979;&#36733;&#24182;&#25353;&#29031;&#25351;&#31034;&#36827;&#34892;&#23433;&#35013;&#12290;<\/p>\n<h3>&#27493;&#39588; 2: &#37197;&#32622;PostgreSQL<\/h3>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#25968;&#25454;&#24211;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-bash\">CREATE DATABASE my_database;<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35774;&#32622;&#29615;&#22659;&#21464;&#37327;<\/strong>&#65306;\n&#22914;&#26524;&#20320;&#22312;Linux&#25110;Mac&#19978;&#36816;&#34892;&#21629;&#20196;&#34892;&#24037;&#20855;&#65292;&#21487;&#20197;&#23558;&#20197;&#19979;&#20869;&#23481;&#28155;&#21152;&#21040;<code>.bashrc<\/code>&#25110;<code>.zshrc<\/code>&#25991;&#20214;&#20013;&#12290;<\/p>\n<pre><code class=\"language-bash\">export POSTGRESQL_HOST=localhost\nexport POSTGRESQL_PORT=5432\nexport POSTGRESQL_USER=my_username\nexport POSTGRESQL_PASSWORD=password<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#21551;&#21160;PostgreSQL&#26381;&#21153;<\/strong>&#65306;\n&#22312;&#21629;&#20196;&#34892;&#20013;&#36755;&#20837;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160;PostgreSQL&#26381;&#21153;&#12290;<\/p>\n<pre><code class=\"language-bash\">sudo service postgresql start<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#39564;&#35777;&#36830;&#25509;<\/strong>&#65306;\n&#20351;&#29992;&#21629;&#20196;&#34892;&#24037;&#20855;&#36830;&#25509;&#21040;PostgreSQL&#26381;&#21153;&#22120;&#12290;<\/p>\n<pre><code class=\"language-bash\">psql -h localhost -U my_username<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#27493;&#39588; 3: PHP PDO&#37197;&#32622;<\/h3>\n<p>&#22312;&#20320;&#30340;&#39033;&#30446;&#20013;&#65292;&#20026;PostgreSQL&#35774;&#32622;&#27491;&#30830;&#30340;&#36830;&#25509;&#20449;&#24687;&#65292;&#24182;&#21551;&#29992;PDO&#25193;&#23637;&#12290;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n$host = 'localhost';\n$dbname = 'my_database';\n$username = 'my_username';\n$password = 'password';\n\ntry {\n    $pdo = new PDO(\"pgsql:host=$host;dbname=$dbname\", $username, $password);\n} catch (PDOException $e) {\n    die('Connection failed: ' . $e-&gt;getMessage());\n}\n\n\/\/ &#20351;&#29992;PDO&#25191;&#34892;&#26597;&#35810;\n$sql = \"SELECT * FROM users\";\n$stmt = $pdo-&gt;prepare($sql);\n$stmt-&gt;execute();\n$results = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\nprint_r($results);\n?&gt;<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;&#20013;&#30340;&#27880;&#24847;&#20107;&#39033;<\/h3>\n<ul>\n<li><strong>&#29615;&#22659;&#21464;&#37327;&#35774;&#32622;<\/strong>&#65306;&#30830;&#20445;&#22312;&#27599;&#20010;&#33050;&#26412;&#20013;&#37117;&#27491;&#30830;&#35774;&#32622;&#20102;&#29615;&#22659;&#21464;&#37327;&#65292;&#36825;&#26377;&#21161;&#20110;&#36991;&#20813;&#22240;&#36335;&#24452;&#38382;&#39064;&#32780;&#23548;&#33268;&#30340;&#38382;&#39064;&#12290;<\/li>\n<li><strong>&#25968;&#25454;&#24211;&#36830;&#25509;<\/strong>&#65306;&#30830;&#20445;&#20351;&#29992;&#27491;&#30830;&#30340;&#25968;&#25454;&#24211;&#21517;&#12289;&#29992;&#25143;&#21517;&#21644;&#23494;&#30721;&#12290;<\/li>\n<li><strong>&#38169;&#35823;&#22788;&#29702;<\/strong>&#65306;&#22312;&#23581;&#35797;&#36830;&#25509;&#26102;&#25429;&#33719;&#24182;&#25253;&#21578;&#20219;&#20309;&#28508;&#22312;&#30340;&#24322;&#24120;&#24773;&#20917;&#65292;&#22914;&#36830;&#25509;&#22833;&#36133;&#25110;&#26410;&#25214;&#21040;&#25968;&#25454;&#24211;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#24212;&#35813;&#33021;&#22815;&#25104;&#21151;&#22320;&#22312;PHP&#20013;&#20351;&#29992;PostgreSQL&#36827;&#34892;&#25968;&#25454;&#25805;&#20316;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312;PHP&#20013;&#20351;&#29992;PostgreSQL&#25968;&#25454;&#24211;&#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#38656;&#038;#27714..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[43],"tuisongtax":[],"class_list":["post-695","my1js","type-my1js","status-publish","hentry","my1js2nav-andweb"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=695"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=695"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=695"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}