有几种功能可以从数据库读取数据。 数据可以作为枚举数组,对象或关联数组来获取。
从数据库检索数据需要执行三个步骤。 首先,我们定义一个 SQL SELECT
语句。 该语句通过pg_query()
函数执行。 (在准备语句的情况下,我们将使用pg_execute()
函数。)我们收到一个结果集对象。 使用结果集,我们使用pg_fetch_row()
,pg_fetch_assoc()
或pg_fetch_object()
函数获取数据。
<?php
host = "localhost";user = "user12";
pass = "34klq*";db = "testdb";
con = pg_connect("host=host dbname=db user=user password=pass")
or die ("Could not connect to server\n");query = "SELECT * FROM cars LIMIT 5";
rs = pg_query(con, query) or die("Cannot execute query:query\n");
while (row = pg_fetch_row(rs)) {
echo "row[0]row[1] row[2]\n";
}
pg_close(con);
?>
我们从cars
表中获得 5 辆汽车,并将它们打印到控制台。
$query = "SELECT * FROM cars LIMIT 5";
这是提取 5 行汽车的 SQL。
$rs = pg_query($con, $query) or die("Cannot execute query: $query\n");
使用pg_query()
功能执行查询。 该函数返回结果集。
while (row = pg_fetch_row(rs)) {
echo "row[0]row[1] $row[2]\n";
}
pg_fetch_row()
函数返回一个字符串值数组。 我们可以使用数组索引符号来获取数组字段。 当没有更多的行时,该函数返回 false,而 while 循环终止。
$ php retrieve1.php
1 Audi 52642
2 Mercedes 57127
3 Skoda 9000
4 Volvo 29000
5 Bentley 350000
示例输出。
在第二个示例中,我们将使用pg_fetch_assoc()
函数获取数据。
<?php
host = "localhost";user = "user12";
pass = "34klq*";db = "testdb";
con = pg_connect("host=host dbname=db user=user password=pass")
or die ("Could not connect to server\n");query = "SELECT * FROM cars LIMIT 5";
rs = pg_query(con, query) or die("Cannot execute query:query\n");
while (row = pg_fetch_assoc(rs)) {
echo row['id'] . " " .row['name'] . " " . row['price'];
echo "\n";
}
pg_close(con);
?>
pg_fetch_assoc()
函数获取一行作为关联数组。 关联数组的键是列名。
while (row = pg_fetch_assoc(rs)) {
echo row['id'] . " " .row['name'] . " " . $row['price'];
echo "\n";
}
id
,name
和price
是返回的关联数组的键。
在最后一个示例中,我们将使用pg_fetch_object()
函数获取数据。 它返回一个对象,该对象的属性与获取的行的字段名称相对应。
<?php
host = "localhost";user = "user12";
pass = "34klq*";db = "testdb";
con = pg_connect("host=host dbname=db user=user password=pass")
or die("Could not connect to server\n");query = "SELECT * FROM cars LIMIT 5";
rs = pg_query(con, query) or die("Cannot execute query:query\n");
while (ro = pg_fetch_object(rs)) {
echo ro->id . " ";
echoro->name . " ";
echo ro->price . " ";
echo "\n";
}
pg_close(con);
?>
我们从cars
表中选择五辆车。
while (ro = pg_fetch_object(rs)) {
echo ro->id . " ";
echoro->name . " ";
echo $ro->price . " ";
echo "\n";
}
列名称是对象属性,其中包含值。
我们已经使用pg_fetch_row()
,pg_fetch_assoc()
和pg_fetch_object()
函数完成了数据读取。