跳轉至內容

PHP 程式設計/PostgreSQL

來自華夏公益教科書

PostgreSQL 是另一個你可以與 PHP 一起使用的流行資料庫。

如果你已經熟悉如何在 PHP 中與 MySQL 互動,那麼下面的圖表應該可以讓 PostgreSQL 的轉換變得更容易。

連線:mysql_connect() 接受三個引數(伺服器、使用者名稱、密碼),而 pg_connect() 接受單個連線字串引數。
mysql_connect() 示例:$db = mysql_connect('localhost', 'mysql_user', 'mysql_pass');
pg_connect() 示例:$db = pg_connect('host=localhost user=pg_user password=pg_pass dbname=my_database');
資料庫選擇:在 MySQL 中,你必須單獨指定要連線的資料庫名稱,而在 PostgreSQL 中,它被內建到 pg_connect() 的連線字串中。
查詢:mysql_query()pg_query() 的行為相同。
mysql_query() 示例:$grab_people = mysql_query("SELECT * FROM people WHERE id_num = 3761832");
pg_query() 示例:$grab_people = pg_query("SELECT * FROM people WHERE id_num = 3761832");
獲取關聯結果:mysql_fetch_assoc()pg_fetch_assoc() 的行為相同。
mysql_fetch_assoc() 示例:$person = mysql_fetch_assoc($grab_people);
pg_fetch_assoc() 示例:$person = pg_fetch_assoc($grab_people);
獲取錯誤:雖然 MySQL 使用 mysql_error(),但 PostgreSQL 使用 pg_last_error().
mysql_error() 示例:$error = mysql_error();
pg_last_error() 示例:$error = pg_last_error();
關閉資料庫連線:mysql_close()pg_close() 的行為相同。
mysql_close 示例:mysql_close($db);
pg_close 示例:pg_close($db);
釋放結果:mysql_free_result()pg_free_result() 的行為相同。
mysql_free_result() 示例:mysql_free_result($grab_people);
pg_free_result() 示例:pg_free_result($grab_people);

完整 MySQL 示例

[編輯 | 編輯原始碼]
 $db = mysql_connect('localhost', 'mysql_user', 'mysql_pass');
 $grab_people = mysql_query("SELECT * FROM people WHERE id_num = 3761832");
 $person = mysql_fetch_assoc($grab_people);
 print_r($person);
 $error = mysql_error();
 if($error != ) { print $error; }
 mysql_free_result($grab_people);
 mysql_close($db);

完整 PostgreSQL 示例

[編輯 | 編輯原始碼]
 $db = pg_connect('host=localhost user=pg_user password=pg_pass dbname=my_database');
 $grab_people = pg_query("SELECT * FROM people WHERE id_num = 3761832");
 $person = pg_fetch_assoc($grab_people);
 print_r($person);
 print pg_last_error();
 pg_free_result($grab_people);
 pg_close($db);

更多資訊

[編輯 | 編輯原始碼]


華夏公益教科書