Introduction to PHP
Introduction to PHP/MYSQL
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
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:
The short version of these tags can also be used:
Each line of PHP is terminated, like MySQL, with a semi-colon.
Hello World!
PHP Test
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("
Could not connect: " . mysql_error());
@mysql_select_db($db) or die("
Could not find database - $db - " . mysql_error() . "");
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 Whats 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 Ullmans 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 youve finished the easier books. One of the best definition/description of object oriented programming Ive 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