SlideShare una empresa de Scribd logo
1 de 33
Presentation to
Siltek Software Solutions (I) Pvt. Ltd.
What is it?
 PHP is a scripting language commonly used on web
servers.
 Stands for “PHP: Hypertext Preprocessor”
 Open source
 Embedded code
 Comparable with ASP
 Multiple operating systems/web servers
More About PHP
 PHP is free software released under the PHP License.
 PHP typically runs on a web server that takes PHP as
input and gives out HTML pages as output.
 PHP is installed on more than 20 million websites and
1 million web servers.
 PHP has a syntax similar to C and Java.
 The current version of PHP is 5.2.x.
What can it do?
 Dynamic generation of web-page content
 Database interaction
 Processing of user supplied data
 Email
 File handling
 Text processing
 Network interaction
 And more…
Brief History of PHP
 PHP (PHP: Hypertext Preprocessor) was created by Rasmus Lerdorf in
1994. It was initially developed for HTTP usage logging and server-side
form generation in Unix.
 PHP 2 (1995) transformed the language into a Server-side embedded
scripting language. Added database support, file
uploads, variables, arrays, recursive
functions, conditionals, iteration, regular expressions, etc.
 PHP 3 (1998) added support for ODBC data sources, multiple platform
support, email protocols (SNMP,IMAP), and new parser written by
Zeev Suraski and Andi Gutmans .
Brief History of PHP
 PHP 4 (2000) became an independent component of the web server for
added efficiency. The parser was renamed the Zend Engine. Many
security features were added.
 PHP 5 (2004) adds Zend Engine II with object oriented
programming, robust XML support using the libxml2 library, SOAP
extension for interoperability with Web Services, SQLite has been
bundled with PHP
 As of August 2004, PHP is used on 16,946,328 Domains, 1,348,793 IP
Addresses http://www.php.net/usage.php This is roughly 32% of all
domains on the web.
Fundamentals
 PHP is embedded within xhtml pages within the tags:
<?php … ?>
 The short version of these tags can also be used: <? …
?>
 Each line of PHP is terminated, like MySQL, with a
semi-colon.
Hello World!
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo ‘<p>Hello World!</p>’; ?>
</body>
</html>
Features of PHP
 Performance
 Relatively fast for an interpreted language.
 Database Connectivity
 Support for MySQL, Oracle, dbm, DB2, PostgreSQL
 Can connect to any database which provides an ODBC
driver (Open Database Connectivity Standard) – e.g. MS
Access.
Features of PHP
 Existing Libraries
 PHP was originally designed for web use – lots of
functions for common web-development tasks (e.g.
Sending email, XML parsing, etc.)
 Portability
 Supported on Windows, Mac OS X, other Unix-like
systems (e.g. Linux).
Features of PHP
 Object-Oriented Programming
 Similar syntax and features as C++ and Java –
inheritance, attribute visibility
(private, protected), abstract
classes/methods, constructors and destructors, etc.
 Popularity
 As a result, lots of documentation, books, and web
tutorials.
PHP Usage
 Server-Side Scripting Language
 Must have a web server and the PHP interpreter
installed.
 PHP interpreter processes pages before they are served
to clients.
PHP Usage
Accessing MySQL Using PHP
About MySQL
 GNU Free, open-source, multi-platform
 Implements the standard SQL language
 Relational DBMS
 Written in C and C++
 Uses MyISAM B-tree disk tables
 Uses in-memory hash tables for temporary tables
Building On MySQL
 What languages can we use for building an application on
MySQL?
 ODBC Connector
 JDBC Connector
 .NET Connector
 Web scripting languages
 PHP, ASP, JSP
Uses of PHP and MySQL
 Anything in a MySQL database can be viewed on a
webpage
 Any information which can be captured from a website can
be stored into a database
Connecting to MySQL from PHP
/* Connection */
$username = ‘user’; // username
$password = ’password'; // password
$webhost = 'localhost'; // host (localhost or something on a web
server)
$db = ’test'; // the database
$dbc = mysql_connect($webhost, $username, $password) or
die("<p>Could not connect: <i>" . mysql_error());
@mysql_select_db($db) or die("<p>Could not find database - $db -
<i>" . mysql_error() . "</i>");
MySQL is Built Into PHP
 There are function calls to connect to a MySQL
server, send SQL commands, and retrieve data from
the server
Application Structure
Lets Install
XAMPP – What’s the tool?
XAMPP (pronounced as ZAMP) is a small and light Apache
distribution containing the most common web
development technologies in a single package.
Acronym for:
X- Read as "cross", meaning cross-platform)
A-Apache HTTP Server
M-MySQL
P-PHP
P-Perl
Features of XAMPP
• Ideal tool for developing and testing applications in PHP &
MySQL.
• Takes less time than installing each of its components
separately.
• Multiple instances of XAMPP can exist on a single
computer.
• Allow website designers and programmers to test their
work on their own computers without any access to the
Internet
• XAMPP also provides support for creating and
manipulating databases in MySQL and SQLite among
others.
How to install ?
 Go to http://www.apachefriends.org/en/xampp.html
 Versions available for Linux, Windows, Solaris, Mac OS X
Steps for Installation
 http://wiki.fiforms.org/index.php/Installing_XAMPP
Types of XAMPP
 WAMP - Windows
 MAMP – Mac OS X
 SAMP - Solaris
 LAMP - LINUX
XAMPP Configuration
Starting :
• To start XAMPP simply call this command :
• You should now see something like this on your screen :
• If you get any error messages please take a look at the
Linux FAQ.
/opt/lampp/lampp start
Starting XAMPP 1.7.4...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
XAMPP Configuration
Stopping :
• To stop XAMPP simply call this command :
• You should now see something like this on your screen :
• XAMPP for Linux is now stopped.
Starting XAMPP 1.7.4...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stoped.
/opt/lampp/lampp stop
Recommended Texts for Learning PHP
 Larry Ullman’s books from the Visual Quickpro series
 PHP & MySQL for Dummies
 Beginning PHP 5 and MySQL: From Novice to
Professional by W. Jason Gilmore
 (This is more advanced and dense than the others, but
great to read once you’ve finished the easier books. One
of the best definition/description of object oriented
programming I’ve read)
Resources
 Apache
 Website: http://httpd.apache.org/
 Documentation: http://httpd.apache.org/docs/2.2/
 PHP
 Website: http://www.php.net/
 Documentation and language reference:
http://www.php.net/docs.php
 http://www.w3schools.com/php/default.asp
Resources
 Xampp
 Combines an Apache web server, PHP, and MySQL into
one simple installation service.
 Very little configuration required by the user to get an
initial system up and running.
 http://www.apachefriends.org/en/xampp.html
Introduction to php
Introduction to php

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

PHP - DataType,Variable,Constant,Operators,Array,Include and require
PHP - DataType,Variable,Constant,Operators,Array,Include and requirePHP - DataType,Variable,Constant,Operators,Array,Include and require
PHP - DataType,Variable,Constant,Operators,Array,Include and require
 
JavaScript - Chapter 12 - Document Object Model
  JavaScript - Chapter 12 - Document Object Model  JavaScript - Chapter 12 - Document Object Model
JavaScript - Chapter 12 - Document Object Model
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Introduction To PHP
Introduction To PHPIntroduction To PHP
Introduction To PHP
 
Lesson 6 php if...else...elseif statements
Lesson 6   php if...else...elseif statementsLesson 6   php if...else...elseif statements
Lesson 6 php if...else...elseif statements
 
Php forms
Php formsPhp forms
Php forms
 
Php
PhpPhp
Php
 
Css selectors
Css selectorsCss selectors
Css selectors
 
Php array
Php arrayPhp array
Php array
 
Class 5 - PHP Strings
Class 5 - PHP StringsClass 5 - PHP Strings
Class 5 - PHP Strings
 
Javascript
JavascriptJavascript
Javascript
 
Python programming : Classes objects
Python programming : Classes objectsPython programming : Classes objects
Python programming : Classes objects
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
 
Control Structures In Php 2
Control Structures In Php 2Control Structures In Php 2
Control Structures In Php 2
 
PHP Cookies and Sessions
PHP Cookies and SessionsPHP Cookies and Sessions
PHP Cookies and Sessions
 
PHP Presentation
PHP PresentationPHP Presentation
PHP Presentation
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypes
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
 

Similar a Introduction to php

Similar a Introduction to php (20)

Lamp
LampLamp
Lamp
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
PHP ITCS 323
PHP ITCS 323PHP ITCS 323
PHP ITCS 323
 
PHP
PHPPHP
PHP
 
php basics
php basicsphp basics
php basics
 
Php intro
Php introPhp intro
Php intro
 
Php intro
Php introPhp intro
Php intro
 
Php intro
Php introPhp intro
Php intro
 
PHP LICTURES ..........
PHP LICTURES ..........PHP LICTURES ..........
PHP LICTURES ..........
 
Why to use PHP
Why to use PHPWhy to use PHP
Why to use PHP
 
PHP Hypertext Preprocessor
PHP Hypertext PreprocessorPHP Hypertext Preprocessor
PHP Hypertext Preprocessor
 
Php unit i
Php unit i Php unit i
Php unit i
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
 
Create dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQLCreate dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQL
 
An Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP ProgrammersAn Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP Programmers
 
Training ppt
Training pptTraining ppt
Training ppt
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
 
Php hypertext pre-processor
Php   hypertext pre-processorPhp   hypertext pre-processor
Php hypertext pre-processor
 
Php introduction and configuration
Php introduction and configurationPhp introduction and configuration
Php introduction and configuration
 
Php
PhpPhp
Php
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Último (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Introduction to php

  • 1. Presentation to Siltek Software Solutions (I) Pvt. Ltd.
  • 2. What is it?  PHP is a scripting language commonly used on web servers.  Stands for “PHP: Hypertext Preprocessor”  Open source  Embedded code  Comparable with ASP  Multiple operating systems/web servers
  • 3. More About PHP  PHP is free software released under the PHP License.  PHP typically runs on a web server that takes PHP as input and gives out HTML pages as output.  PHP is installed on more than 20 million websites and 1 million web servers.  PHP has a syntax similar to C and Java.  The current version of PHP is 5.2.x.
  • 4. What can it do?  Dynamic generation of web-page content  Database interaction  Processing of user supplied data  Email  File handling  Text processing  Network interaction  And more…
  • 5. Brief History of PHP  PHP (PHP: Hypertext Preprocessor) was created by Rasmus Lerdorf in 1994. It was initially developed for HTTP usage logging and server-side form generation in Unix.  PHP 2 (1995) transformed the language into a Server-side embedded scripting language. Added database support, file uploads, variables, arrays, recursive functions, conditionals, iteration, regular expressions, etc.  PHP 3 (1998) added support for ODBC data sources, multiple platform support, email protocols (SNMP,IMAP), and new parser written by Zeev Suraski and Andi Gutmans .
  • 6. Brief History of PHP  PHP 4 (2000) became an independent component of the web server for added efficiency. The parser was renamed the Zend Engine. Many security features were added.  PHP 5 (2004) adds Zend Engine II with object oriented programming, robust XML support using the libxml2 library, SOAP extension for interoperability with Web Services, SQLite has been bundled with PHP  As of August 2004, PHP is used on 16,946,328 Domains, 1,348,793 IP Addresses http://www.php.net/usage.php This is roughly 32% of all domains on the web.
  • 7. Fundamentals  PHP is embedded within xhtml pages within the tags: <?php … ?>  The short version of these tags can also be used: <? … ?>  Each line of PHP is terminated, like MySQL, with a semi-colon.
  • 8. Hello World! <html> <head> <title>PHP Test</title> </head> <body> <?php echo ‘<p>Hello World!</p>’; ?> </body> </html>
  • 9. Features of PHP  Performance  Relatively fast for an interpreted language.  Database Connectivity  Support for MySQL, Oracle, dbm, DB2, PostgreSQL  Can connect to any database which provides an ODBC driver (Open Database Connectivity Standard) – e.g. MS Access.
  • 10. Features of PHP  Existing Libraries  PHP was originally designed for web use – lots of functions for common web-development tasks (e.g. Sending email, XML parsing, etc.)  Portability  Supported on Windows, Mac OS X, other Unix-like systems (e.g. Linux).
  • 11. Features of PHP  Object-Oriented Programming  Similar syntax and features as C++ and Java – inheritance, attribute visibility (private, protected), abstract classes/methods, constructors and destructors, etc.  Popularity  As a result, lots of documentation, books, and web tutorials.
  • 12. PHP Usage  Server-Side Scripting Language  Must have a web server and the PHP interpreter installed.  PHP interpreter processes pages before they are served to clients.
  • 15. About MySQL  GNU Free, open-source, multi-platform  Implements the standard SQL language  Relational DBMS  Written in C and C++  Uses MyISAM B-tree disk tables  Uses in-memory hash tables for temporary tables
  • 16. Building On MySQL  What languages can we use for building an application on MySQL?  ODBC Connector  JDBC Connector  .NET Connector  Web scripting languages  PHP, ASP, JSP
  • 17. Uses of PHP and MySQL  Anything in a MySQL database can be viewed on a webpage  Any information which can be captured from a website can be stored into a database
  • 18. Connecting to MySQL from PHP /* Connection */ $username = ‘user’; // username $password = ’password'; // password $webhost = 'localhost'; // host (localhost or something on a web server) $db = ’test'; // the database $dbc = mysql_connect($webhost, $username, $password) or die("<p>Could not connect: <i>" . mysql_error()); @mysql_select_db($db) or die("<p>Could not find database - $db - <i>" . mysql_error() . "</i>");
  • 19. MySQL is Built Into PHP  There are function calls to connect to a MySQL server, send SQL commands, and retrieve data from the server
  • 22. XAMPP – What’s the tool? XAMPP (pronounced as ZAMP) is a small and light Apache distribution containing the most common web development technologies in a single package. Acronym for: X- Read as "cross", meaning cross-platform) A-Apache HTTP Server M-MySQL P-PHP P-Perl
  • 23. Features of XAMPP • Ideal tool for developing and testing applications in PHP & MySQL. • Takes less time than installing each of its components separately. • Multiple instances of XAMPP can exist on a single computer. • Allow website designers and programmers to test their work on their own computers without any access to the Internet • XAMPP also provides support for creating and manipulating databases in MySQL and SQLite among others.
  • 24. How to install ?  Go to http://www.apachefriends.org/en/xampp.html  Versions available for Linux, Windows, Solaris, Mac OS X
  • 25. Steps for Installation  http://wiki.fiforms.org/index.php/Installing_XAMPP
  • 26. Types of XAMPP  WAMP - Windows  MAMP – Mac OS X  SAMP - Solaris  LAMP - LINUX
  • 27. XAMPP Configuration Starting : • To start XAMPP simply call this command : • You should now see something like this on your screen : • If you get any error messages please take a look at the Linux FAQ. /opt/lampp/lampp start Starting XAMPP 1.7.4... LAMPP: Starting Apache... LAMPP: Starting MySQL... LAMPP started.
  • 28. XAMPP Configuration Stopping : • To stop XAMPP simply call this command : • You should now see something like this on your screen : • XAMPP for Linux is now stopped. Starting XAMPP 1.7.4... LAMPP: Stopping Apache... LAMPP: Stopping MySQL... LAMPP stoped. /opt/lampp/lampp stop
  • 29. Recommended Texts for Learning PHP  Larry Ullman’s books from the Visual Quickpro series  PHP & MySQL for Dummies  Beginning PHP 5 and MySQL: From Novice to Professional by W. Jason Gilmore  (This is more advanced and dense than the others, but great to read once you’ve finished the easier books. One of the best definition/description of object oriented programming I’ve read)
  • 30. Resources  Apache  Website: http://httpd.apache.org/  Documentation: http://httpd.apache.org/docs/2.2/  PHP  Website: http://www.php.net/  Documentation and language reference: http://www.php.net/docs.php  http://www.w3schools.com/php/default.asp
  • 31. Resources  Xampp  Combines an Apache web server, PHP, and MySQL into one simple installation service.  Very little configuration required by the user to get an initial system up and running.  http://www.apachefriends.org/en/xampp.html