How Do You Connect to a Specific Database in Postgres Using PHP?

Problem scenario
Using PHP you want to connect to a specific database to run SQL queries.  How do you do this?

Solution
Assuming you have installed PHP and Postgres on the same Ubuntu Linux server, install the php-pgsql package.  Follow this link if you need assistance.  

1.  Create a file like this named contint.php:

<?php
   $host  

How Do You Create a Web Page That Issues Customized SQL Commands to a Database Behind-The-Scenes?

Problem scenario
You want a web page with a text field to enter a single line of SQL code.  You want this code (as opposed to some fixed, pre-written code) to execute.  How do you do this?

Solution
This is more dangerous because SQL injection attacks are a serious problem.  This link is how to have a PHP page execute fixed code.

How Can You Accept User Input with PHP and Use It in a SQL Command?

Problem scenario
You want to read in user input via a web page.  You then want that user input to participate in an invocation of a SQL command. How do you get user input to be a variable in the construction of a SQL command that is automatically executed when a web-page button is clicked?

Solution
Warning
This does not prevent against SQL injection attacks.

How Do You Get a Web Page to Invoke a Postgres Command (e.g., for a RESTful API)?

Problem scenario
You want a REST call to invoke some SQL code on a Postgres database.  How do you do this?

Solution
Install Apache web server, PHP, and the PHP-pgsql package on your Postgresql database server.  This example assumes you have PHP, Apache web server, Postgres, and the php-pgsql package installed on your server.  Assuming the web server is running and the default directory for web pages is still /var/www/html/ do the following.

How Do You Deploy LAPP with Frontend User Authentication?

Problem scenario
You want a web page that asks for a username and password (e.g., to log in).  The users will not know if the authentication is done via Apache or Postgres.  You happen want the authentication to be challenged against a Postgres database.  This way if you have backend access to the Postgres database, you can use “CREATE ROLE” or “CREATE ROLE jane PASSWORD ‘veryfun’ LOGIN” to create users.  

How Can Variables Be Carried across Multiple PHP Pages (Not Just Immediate Subsequent Pages)?

Problem scenario
You want to pass variables from user input and have them carry across multiple pages.  You may or may not want the immediate subsequent page to use the variables.  You want pages (.php files) after several clicks of navigation (two pages or more) to employ the variables that were read in or calculated via PHP pages.

You are using session_set() and/or session_start() but they are not working.

How Do You Integrate PHP with Postgresql?

Problem scenario
You want your PHP files (either a frontend web page or a purely backend script) to integrate with Postgres.  You want .php files to log into a Postgres database to run SQL commands.  How do you do this?

Solution
Install php5-pgsql or php7.0-pgsql.  It depends on your version of PHP.  Use this command to find out what version of PHP you have:  php –version

Install this module: 

How Do You Write a Backend PHP Script to Query Postgres and Create a Database Name “foobar”?

Problem scenario
You are running Ubuntu Linux, and you want to create a .php script to be ran at the command prompt like this:

php good.php

You want this to open a PosgreSQL connection and issue a DDL command to create a database.  This is not a PHP web page.

Solution
This solution is only slightly more complicated than using PHP to run a basic SQL query in a Postgres database.

​How Can PHP Accept Data from a Form and Assign It to Variables for Future Retrieval?

Problem scenario
You want a web page to request user input.  After the user clicks “Submit” you want the values to be assigned to variables for future usage (e.g., an algorithm could retrieve the values to manipulate them).  How do you use PHP to assign input from a web page to be variables on the back end?

Solution
You need two files.  

How Do You Troubleshoot the PHP Error “role is not permitted to log in” So Your Script Can Log into a Postgres Database?

Problem scenario
You are trying to use a .php script on the back end to connect to your PostgreSQL database.  However, you get an error like this when you try to run it:

‘PHP Warning:  pg_connect(): Unable to connect to PostgreSQL server: FATAL:  role  “funuser” is not permitted to log in in /tmp/d.php on line 7’

How can your .php script log into the Postgres database?