跳转至内容

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);

更多信息

[编辑 | 编辑源代码]


华夏公益教科书