PostgreSQL PHP: Querying Data
Summary: in this tutorial, you will learn to query data from the PostgreSQL database in PHP using PDO.
Querying all rows in a table
To query all rows from a table in the PostgreSQL database, you use the following steps:
- First, connect to the PostgreSQL database by creating a new PDO object.
- Second, call the
query()
method of the PDO object. The query() method accepts a SELECT statement as the argument. The query method returns aPDOStatement
object. - Third, fetch the next rows from the result by calling the fetch() method of the PDOstatement object. The fetch_style argument of the
fetch()
method controls how the result returned. For example, thePDO::FETCH_ASSOC
instructs thefetch()
method to return the result set as an array indexed by column name.
We will use the stocks
table created in the creating table tutorial for the demonstration. Let’s create a new class StockDB
for storing all the methods that select data from the stocks
table.
The following all()
method selects all rows in the stocks
table.
To test the all()
method, we use the following code in the index.php
file.
The first part of the index.php is to connect to the PostgreSQL database and get all rows in the stocks table. The second part shows the data in HTML format.
The following screenshot illustrates the output of the index.php file.
Querying a specific row in a table
To query a specific row in a table, you use the following steps:
- First, connect to the PostgreSQL database by creating a new PDO object.
- Next, prepare the SELECT statement for execution by calling the
prepare()
method of the PDO object. Theprepare()
method returns an instance of the PDOStatement class. - Then, bind the values to the statement by using the
bindValue()
method. - After that, execute the SELECT statement by calling the
execute()
method of the PDOStatement object. - Finally, fetch the next row in the result using the
fetch()
method. If the SELECT statement returns 1 row, you can use the fetchObject() method to return an object.
The following findByPK()
method selects a row in the stocks table based on a specified id and returns a Stock object.
To test the findByPK()
method, we create a new PHP file named stock.php
.
Run the stock.php file, we get the following result.
In this tutorial, you have learned various ways to query data from the tables in the PostgreSQL database using PHP PDO.