SlideShare a Scribd company logo
Introduction to PHP and
PostgreSQL
CSC 436 – Fall 2008
Slides based on PHP manual “Getting Started” from
http://www.php.net/tut.php
PHP - Overview
Introduction
Tutorial
Installation
PostgreSQL with PHP
Extended example
Introduction
PHP (recursive acronym for "PHP:
Hypertext Preprocessor")
 widely-used Open Source general-purpose
scripting language
 especially suited for Web development
 can be embedded into HTML.
<html>
<head>
<title>Example</title>
</head>
<body>
<?php echo "Hi, I'm a PHP script!"; ?>
</body>
</html>
See this example here:
What can PHP do?
Server-side scripting
 most traditional and main target field
 need three things to make this work
 PHP parser (CGI or server module)
 webserver – with connected PHP installation
 web browser
Command line scripting
 PHP script to run it without any server or browser
 need the PHP parser to use it this way
Writing client-side GUI applications
 not the best language to write windowing
applications
 use PHP-GTK to write such programs
Tutorial
What do I need?
Your first PHP-enabled page
Something Useful
Dealing with Forms
What's next?
What do I need?
Assume that your server has support
for PHP activated and that all files
ending in .php are handled by PHP
Create your .php files and put them in
your web directory and the server will
magically parse them for you
No need to compile anything
Develop locally
 install a web server, such as Apache
 install PHP
 install a database as well, such as
PostgreSQL.
First PHP-enabled page
Create a file named hello.php
Put it in your web servers directory
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo "<p>Hello World</p>"; ?>
</body>
</html>
Use your browser to access the file
Something useful
check what sort of browser the person viewing
the page is using
 check the user agent string that the browser sends
as part of its HTTP request
 stored in a variable
 always start with a dollar-sign in PHP
 $_SERVER["HTTP_USER_AGENT"].
 $_SERVER is a special reserved PHP variable that
contains all web server information
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
</body>
</html> (see this file)
Variables
Variables represented by a dollar sign
followed by the name of the variable
 name is case-sensitive.
 name starts with a letter or underscore,
followed by any number of letters, numbers, or
underscores
 type is assigned by value
<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // outputs "Bob, Joe"
$x = 1;
$x = ‘abc’; // type can change if value changes
$4site = 'not yet'; // invalid; starts with a number
$_4site = 'not yet'; // valid; starts with an underscore
?>
Arrays
created by the array() language-
construct
takes a certain number of comma-
separated key => value pairs
<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?> (see it here)
Arrays (cont.)
<?php // Create a simple array.
$array = array(1, 2, 3, 4, 5);
print_r($array);
// Now delete every item, but leave the array
// itself intact:
foreach ($array as $i => $value) {
unset($array[$i]);
}
print_r($array);
// Append an item (note that the new key is 5,
// instead of 0 as you might expect).
$array[] = 6;
print_r($array);
// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?> (see result here)
Dealing with forms
HTML Forms (GET and POST)
 form is submitted to a PHP script
 information from that form is
automatically made available to the
script
 forms.php
<form action="foo.php" method="POST">
Name: <input type="text" name="username"><br>
Email: <input type="text" name="email"><br>
<input type="submit" name="submit"
value="Submit me!">
</form>
Forms – foo.php
<?php // Available since PHP 4.1.0
print $_POST['username'];
print $_REQUEST['username'];
import_request_variables('p', 'p_');
print $p_username;
// Available since PHP 3. As of PHP 5.0.0, these long
// predefined variables can be disabled with the
// register_long_arrays directive.
print $HTTP_POST_VARS['username'];
// Available if the PHP directive register_globals = on.
// As of PHP 4.2.0 the default value of
// register_globals = off.
// Using/relying on this method is not preferred.
print $username; ?> (see result here)
Another forms example
info_form.php
<form action=“show_answers.php” method="POST">
Your name: <input type="text" name="name" />
Your age: <input type="text" name="age" />
<input type="submit">
</form>
show_answers.php
Hi
<?php echo $_POST["name"]; ?>.
You are <?php echo $_POST["age"]; ?> years old.
(see results here)
Installation
PHP is installed on the Linux servers in
the CSC department
You can install it on your own machine
if you want
Refer to the PHP manual for instructions
on installation
http://www.php.net/manual/en/install.php
PosgreSQL with PHP
Assume the following database table and
data:
CREATE TABLE employees
( id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT,
first varchar(20),
last varchar(20),
address varchar(255),
position varchar(50),
PRIMARY KEY (id),
UNIQUE id (id));
INSERT INTO employees VALUES
(1,'Bob','Smith','128 Here St, Cityname',
'Marketing Manager');
INSERT INTO employees VALUES
(2,'John','Roberts','45 There St ,Townville',
'Telephonist');
INSERT INTO employees VALUES
(3,'Brad','Johnson','1/34 Nowhere Blvd, Snowston',
'Doorman');
PostgreSQL Example (cont)
<html>
<body>
<?php
$db = pg_connect(“dbname=sam user=sam password=iam")
or die(“Couldn’t Connect: “.pg_last_error($db));
$query=“SELECT * FROM employees”;
$result = pg_query($db,$query)
or
die(“Error in query: $query.”.pg_last_error($db));
$rows = pg_num_rows($result);
if ($rows > 0) {
for ($i=0; $i<$rows; $i++){
$my_row = pg_fetch_array($result, $i, PGSQL_ASSOC);
printf("First Name: %s",$my_row[“first”]);
printf("Last Name: %s", $my_row[“last“]);
printf("Address: %s", $my_row[“address“]);
printf("Position: %s",$my_row["position“]);
printf(“n”);
}
}
pg_close($db);
?>
</body>
</html>
Extended Example – Toy Catalog
Toy Catalog – as described in class
Assume database tables created
Assume data inserted into data
Start with html form page

More Related Content

Similar to PHP with Postgres SQL connection string and connecting (20)

Php
Php
zalatarunk
 
PHP language presentation
PHP language presentation
Annujj Agrawaal
 
WT_PHP_PART1.pdf
WT_PHP_PART1.pdf
HambardeAtharva
 
10_introduction_php.ppt
10_introduction_php.ppt
MercyL2
 
introduction_php.ppt
introduction_php.ppt
ArunKumar313658
 
PHP
PHP
sometech
 
Php Tutorial
Php Tutorial
SHARANBAJWA
 
PHP Hypertext Preprocessor
PHP Hypertext Preprocessor
adeel990
 
Introduction of PHP.pdf
Introduction of PHP.pdf
karinaabyys
 
Introduction to PHP.pptx
Introduction to PHP.pptx
SherinRappai
 
Phpwebdev
Phpwebdev
Luv'k Verma
 
Quick beginner to Lower-Advanced guide/tutorial in PHP
Quick beginner to Lower-Advanced guide/tutorial in PHP
Sanju Sony Kurian
 
PHP - Introduction to PHP Fundamentals
PHP - Introduction to PHP Fundamentals
Vibrant Technologies & Computers
 
PHP BASIC PRESENTATION
PHP BASIC PRESENTATION
krutitrivedi
 
waptLab 04.pdfwaptLab09 tis lab is used for college lab exam
waptLab 04.pdfwaptLab09 tis lab is used for college lab exam
imgautam076
 
Php by shivitomer
Php by shivitomer
Shivi Tomer
 
10_introduction_php.ppt
10_introduction_php.ppt
GiyaShefin
 
Phpwebdevelping
Phpwebdevelping
mohamed ashraf
 
Tutorial_4_PHP
Tutorial_4_PHP
tutorialsruby
 
Tutorial_4_PHP
Tutorial_4_PHP
tutorialsruby
 
PHP language presentation
PHP language presentation
Annujj Agrawaal
 
10_introduction_php.ppt
10_introduction_php.ppt
MercyL2
 
PHP Hypertext Preprocessor
PHP Hypertext Preprocessor
adeel990
 
Introduction of PHP.pdf
Introduction of PHP.pdf
karinaabyys
 
Introduction to PHP.pptx
Introduction to PHP.pptx
SherinRappai
 
Quick beginner to Lower-Advanced guide/tutorial in PHP
Quick beginner to Lower-Advanced guide/tutorial in PHP
Sanju Sony Kurian
 
PHP BASIC PRESENTATION
PHP BASIC PRESENTATION
krutitrivedi
 
waptLab 04.pdfwaptLab09 tis lab is used for college lab exam
waptLab 04.pdfwaptLab09 tis lab is used for college lab exam
imgautam076
 
Php by shivitomer
Php by shivitomer
Shivi Tomer
 
10_introduction_php.ppt
10_introduction_php.ppt
GiyaShefin
 

More from PraveenHegde20 (6)

What-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to Laravel
PraveenHegde20
 
Error Handling In PHP with all Try catch anf various runtime errors
Error Handling In PHP with all Try catch anf various runtime errors
PraveenHegde20
 
CSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete Stylesheet
PraveenHegde20
 
CSS Basics ro advanced training material
CSS Basics ro advanced training material
PraveenHegde20
 
Smart city engineering work using Internet of Things
Smart city engineering work using Internet of Things
PraveenHegde20
 
Data Engineering Data warehousing Pentaho
Data Engineering Data warehousing Pentaho
PraveenHegde20
 
What-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to Laravel
PraveenHegde20
 
Error Handling In PHP with all Try catch anf various runtime errors
Error Handling In PHP with all Try catch anf various runtime errors
PraveenHegde20
 
CSS Adnaved with HTML abd complete Stylesheet
CSS Adnaved with HTML abd complete Stylesheet
PraveenHegde20
 
CSS Basics ro advanced training material
CSS Basics ro advanced training material
PraveenHegde20
 
Smart city engineering work using Internet of Things
Smart city engineering work using Internet of Things
PraveenHegde20
 
Data Engineering Data warehousing Pentaho
Data Engineering Data warehousing Pentaho
PraveenHegde20
 
Ad

Recently uploaded (20)

MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Restu Bias Primandhika
 
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
 
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
 
june 10 2025 ppt for madden on art science is over.pptx
june 10 2025 ppt for madden on art science is over.pptx
roger malina
 
Unit- 4 Biostatistics & Research Methodology.pdf
Unit- 4 Biostatistics & Research Methodology.pdf
KRUTIKA CHANNE
 
Overview of Employee in Odoo 18 - Odoo Slides
Overview of Employee in Odoo 18 - Odoo Slides
Celine George
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
MATERI PPT TOPIK 4 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 4 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
What is FIle and explanation of text files.pptx
What is FIle and explanation of text files.pptx
Ramakrishna Reddy Bijjam
 
What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Chalukyas of Gujrat, Solanki Dynasty NEP.pptx
Dr. Ravi Shankar Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
How to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 Slides
Celine George
 
The Man In The Back – Exceptional Delaware.pdf
The Man In The Back – Exceptional Delaware.pdf
dennisongomezk
 
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
Quiz Club of PSG College of Arts & Science
 
IDF 30min presentation - December 2, 2024.pptx
IDF 30min presentation - December 2, 2024.pptx
ArneeAgligar
 
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Himalayan Group of Professional Institutions (HGPI)
 
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 1 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
LDMMIA Spring Ending Guest Grad Student News
LDMMIA Spring Ending Guest Grad Student News
LDM & Mia eStudios
 
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Restu Bias Primandhika
 
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
 
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
 
june 10 2025 ppt for madden on art science is over.pptx
june 10 2025 ppt for madden on art science is over.pptx
roger malina
 
Unit- 4 Biostatistics & Research Methodology.pdf
Unit- 4 Biostatistics & Research Methodology.pdf
KRUTIKA CHANNE
 
Overview of Employee in Odoo 18 - Odoo Slides
Overview of Employee in Odoo 18 - Odoo Slides
Celine George
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
MATERI PPT TOPIK 4 LANDASAN FILOSOFIS PENDIDIKAN
MATERI PPT TOPIK 4 LANDASAN FILOSOFIS PENDIDIKAN
aditya23173
 
What is FIle and explanation of text files.pptx
What is FIle and explanation of text files.pptx
Ramakrishna Reddy Bijjam
 
What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
Final Sketch Designs for poster production.pptx
Final Sketch Designs for poster production.pptx
bobby205207
 
How to Create an Event in Odoo 18 - Odoo 18 Slides
How to Create an Event in Odoo 18 - Odoo 18 Slides
Celine George
 
The Man In The Back – Exceptional Delaware.pdf
The Man In The Back – Exceptional Delaware.pdf
dennisongomezk
 
IDF 30min presentation - December 2, 2024.pptx
IDF 30min presentation - December 2, 2024.pptx
ArneeAgligar
 
Ad

PHP with Postgres SQL connection string and connecting

  • 1. Introduction to PHP and PostgreSQL CSC 436 – Fall 2008 Slides based on PHP manual “Getting Started” from http://www.php.net/tut.php
  • 3. Introduction PHP (recursive acronym for "PHP: Hypertext Preprocessor")  widely-used Open Source general-purpose scripting language  especially suited for Web development  can be embedded into HTML. <html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body> </html> See this example here:
  • 4. What can PHP do? Server-side scripting  most traditional and main target field  need three things to make this work  PHP parser (CGI or server module)  webserver – with connected PHP installation  web browser Command line scripting  PHP script to run it without any server or browser  need the PHP parser to use it this way Writing client-side GUI applications  not the best language to write windowing applications  use PHP-GTK to write such programs
  • 5. Tutorial What do I need? Your first PHP-enabled page Something Useful Dealing with Forms What's next?
  • 6. What do I need? Assume that your server has support for PHP activated and that all files ending in .php are handled by PHP Create your .php files and put them in your web directory and the server will magically parse them for you No need to compile anything Develop locally  install a web server, such as Apache  install PHP  install a database as well, such as PostgreSQL.
  • 7. First PHP-enabled page Create a file named hello.php Put it in your web servers directory <html> <head> <title>PHP Test</title> </head> <body> <?php echo "<p>Hello World</p>"; ?> </body> </html> Use your browser to access the file
  • 8. Something useful check what sort of browser the person viewing the page is using  check the user agent string that the browser sends as part of its HTTP request  stored in a variable  always start with a dollar-sign in PHP  $_SERVER["HTTP_USER_AGENT"].  $_SERVER is a special reserved PHP variable that contains all web server information <html> <head> <title>PHP Test</title> </head> <body> <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> </body> </html> (see this file)
  • 9. Variables Variables represented by a dollar sign followed by the name of the variable  name is case-sensitive.  name starts with a letter or underscore, followed by any number of letters, numbers, or underscores  type is assigned by value <?php $var = "Bob"; $Var = "Joe"; echo "$var, $Var"; // outputs "Bob, Joe" $x = 1; $x = ‘abc’; // type can change if value changes $4site = 'not yet'; // invalid; starts with a number $_4site = 'not yet'; // valid; starts with an underscore ?>
  • 10. Arrays created by the array() language- construct takes a certain number of comma- separated key => value pairs <?php $arr = array("foo" => "bar", 12 => true); echo $arr["foo"]; // bar echo $arr[12]; // 1 ?> (see it here)
  • 11. Arrays (cont.) <?php // Create a simple array. $array = array(1, 2, 3, 4, 5); print_r($array); // Now delete every item, but leave the array // itself intact: foreach ($array as $i => $value) { unset($array[$i]); } print_r($array); // Append an item (note that the new key is 5, // instead of 0 as you might expect). $array[] = 6; print_r($array); // Re-index: $array = array_values($array); $array[] = 7; print_r($array); ?> (see result here)
  • 12. Dealing with forms HTML Forms (GET and POST)  form is submitted to a PHP script  information from that form is automatically made available to the script  forms.php <form action="foo.php" method="POST"> Name: <input type="text" name="username"><br> Email: <input type="text" name="email"><br> <input type="submit" name="submit" value="Submit me!"> </form>
  • 13. Forms – foo.php <?php // Available since PHP 4.1.0 print $_POST['username']; print $_REQUEST['username']; import_request_variables('p', 'p_'); print $p_username; // Available since PHP 3. As of PHP 5.0.0, these long // predefined variables can be disabled with the // register_long_arrays directive. print $HTTP_POST_VARS['username']; // Available if the PHP directive register_globals = on. // As of PHP 4.2.0 the default value of // register_globals = off. // Using/relying on this method is not preferred. print $username; ?> (see result here)
  • 14. Another forms example info_form.php <form action=“show_answers.php” method="POST"> Your name: <input type="text" name="name" /> Your age: <input type="text" name="age" /> <input type="submit"> </form> show_answers.php Hi <?php echo $_POST["name"]; ?>. You are <?php echo $_POST["age"]; ?> years old. (see results here)
  • 15. Installation PHP is installed on the Linux servers in the CSC department You can install it on your own machine if you want Refer to the PHP manual for instructions on installation http://www.php.net/manual/en/install.php
  • 16. PosgreSQL with PHP Assume the following database table and data: CREATE TABLE employees ( id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT, first varchar(20), last varchar(20), address varchar(255), position varchar(50), PRIMARY KEY (id), UNIQUE id (id)); INSERT INTO employees VALUES (1,'Bob','Smith','128 Here St, Cityname', 'Marketing Manager'); INSERT INTO employees VALUES (2,'John','Roberts','45 There St ,Townville', 'Telephonist'); INSERT INTO employees VALUES (3,'Brad','Johnson','1/34 Nowhere Blvd, Snowston', 'Doorman');
  • 17. PostgreSQL Example (cont) <html> <body> <?php $db = pg_connect(“dbname=sam user=sam password=iam") or die(“Couldn’t Connect: “.pg_last_error($db)); $query=“SELECT * FROM employees”; $result = pg_query($db,$query) or die(“Error in query: $query.”.pg_last_error($db)); $rows = pg_num_rows($result); if ($rows > 0) { for ($i=0; $i<$rows; $i++){ $my_row = pg_fetch_array($result, $i, PGSQL_ASSOC); printf("First Name: %s",$my_row[“first”]); printf("Last Name: %s", $my_row[“last“]); printf("Address: %s", $my_row[“address“]); printf("Position: %s",$my_row["position“]); printf(“n”); } } pg_close($db); ?> </body> </html>
  • 18. Extended Example – Toy Catalog Toy Catalog – as described in class Assume database tables created Assume data inserted into data Start with html form page