PHP 程式設計/PostgreSQL
外觀
< PHP 程式設計
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);
$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);
$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);