Transcript Document
Introduction to Database
What is PHP?
PHP == ‘PHP Hypertext Preprocessor’
Open-source, server-side scripting language
Used to generate dynamic web-pages
PHP scripts reside between reserved PHP tags
This allows the programmer to embed PHP scripts
within HTML pages
What is PHP (cont’d)
Interpreted language, scripts are parsed at run-time
rather than compiled beforehand
Executed on the server-side
Source-code not visible by client
‘View Source’ in browsers does not display the PHP code
Various built-in functions allow for fast development
Compatible with many popular databases
3(+1) Tier architecture
voice
touch
DHTML
Browser
(IE, FireFox,
Opera)
vision
HTTP
HTML
Desktop
(PC or MAC)
PHP script
SQL
Web Server
(Apache, IIS)
tables
SMS
Remote
services
SMS system
Client
application
Database
Database
Server
Web Service
PHP advantage
Any changes to header or footer only require editing of
a single file.
This reduces the amount of work necessary for
site
maintenance and redesign.
Helps separate the content and design for easier
maintenance
Page 1
Content
Header
Page 2
Content
Page 3
Content
Footer
Page 4
Content
Page 5
Content
What does PHP code look like?
Structurally similar to C/C++
Supports procedural and object-oriented paradigm (to
some degree)
All PHP statements end with a semi-colon
Each PHP script must be enclosed in the reserved PHP
tag
<?php
…
?>
Comments in PHP
Standard C, C++, and shell comment symbols
// C++ and Java-style comment
# Shell-style comments
/* C-style comments
These can span multiple lines */
Variables in PHP
PHP variables must begin with a “$” sign
Case-sensitive ($Foo $foo $fOo)
Global and locally-scoped variables
Global variables can be used anywhere
Local variables restricted to a function or class
Certain variable names reserved by PHP
Form variables ($_POST, $_GET)
Server variables ($_SERVER)
Etc.
Variable usage
<?php
$foo = 25;
$bar = “Hello”;
$foo = ($foo * 7);
$bar = ($bar * 7);
?>
// Numerical variable
// String variable
// Multiplies foo by 7
// Invalid expression
Echo
The PHP command ‘echo’ is used to
output the parameters passed to it
The typical usage for this is to send data to the
client’s web-browser
Syntax
echo string arg1 [, string argn...]
Echo example
<?php
$foo = 25;
$bar = “Hello”;
echo
echo
echo
echo
echo
?>
$bar;
$foo,$bar;
“5x5=”,$foo;
“5x5=$foo”;
‘5x5=$foo’;
// Numerical variable
// String variable
//
//
//
//
//
Outputs
Outputs
Outputs
Outputs
Outputs
Hello
25Hello
5x5=25
5x5=25
5x5=$foo
Notice how echo ‘5x5=$foo’ outputs $foo rather than
replacing it with 25
Strings in single quotes (‘
’) are not interpreted or
evaluated by PHP
This is true for both variables and character escape-sequences
(such as “\n” or “\\”)
Arithmetic Operations
<?php
$a=15;
$b=30;
$total=$a+$b;
Print $total;
Print “<p><h1>$total</h1>”;
// total is 45
?>
$a
$a
$a
$a
- $b
* $b
/ $b
+= 5
//
//
//
//
subtraction
multiplication
division
$a = $a+5
Concatenation
Use a period to join strings into one.
<?php
$string1=“Hello”;
$string2=“PHP”;
$string3=$string1 . “ ” . $string2;
Print $string3;
?>
Hello PHP
Escaping the Character
If the string has a set of double quotation marks that
must remain visible, use the \ [backslash] before the
quotation marks to ignore and display them.
<?php
$heading=“\”Computer Science\””;
Print $heading;
?>
“Computer Science”
PHP Control Structures
if (expr) statement
<?php
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>
<?php
if ($a > $b) {
echo "a is greater than b";
} else {
echo "a is NOT greater than b";
}
?>
PHP Control Structures
if ($foo == 0) {
echo ‘The variable foo is equal to 0’;
}
else if (($foo > 0) && ($foo <= 5)) {
echo ‘The variable foo is between 1 and 5’;
}
else {
echo ‘The variable foo is equal to ‘.$foo;
}
PHP Control Structures
<?php
switch ($i) {
case "apple":
echo "i is apple";
break;
case "bar":
echo "i is bar";
break;
case "cake":
echo "i is cake";
break;
default:
echo ‘Enter correct option’;
}
?>
Loops
while (condition){statements;}
<?php
$count=0;
While($count<3)
{
Print “hello PHP. ”;
$count += 1;
// $count = $count + 1;
// or
// $count++;
?>
hello PHP. hello PHP. hello PHP.
Loops
for (expr1; expr2; expr3)
statement
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
Loops
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
echo “$value \n”;
}
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value);//break the reference
?>
Loops
foreach ($arr as $key => $value) {
echo "Key:$key; Value:$value<br />\n";
}
break ends execution of the current for, foreach,
while, do-while or switch structure.
continue is used within looping structures to skip the
rest of the current loop iteration and continue execution
at the condition evaluation and then the beginning of the
next iteration.
Arrays
An array in PHP is actually an ordered map which maps
values to keys.
An array can be thought of in many ways:
Linearly indexed array , list (vector), hash table (which is
an implementation of a map), dictionary, collection, stack
(LIFO), queue (FIFO)
Arrays
Kinds of arrays:
numeric arrays.
associative arrays.
multi dimensional arrays.
Arrays
In numeric arrays each key value corresponds to numeric
values.
They can be divided into two categories
1.automatic numeric array index.
2.manual array numeric index.
automatic numeric array index
<?php
$x=array(1,2,3);
print_r($x);
?>
o/p: array(0=>1,1=>2,2=>3)
Arrays
Manual array numeric index
<?php
$x[2]=10; $x[3]=50;//$x=array(2=>10,3=>50);
echo $x[2]; echo $x[3];
?>
Associative arrays
In associated arrays each ID associated with its value
<?php
$x=array(“ab”=>1,”cd”=>2,”xy”=>3);
print_r($x);
?>
Arrays
Multidimensional Arrays-An array contains one or more arrays
<?php
$z=array(array(10,20,30),array(40,50,60));
print_r($z);
?>
Array ( [0] => Array ( [0] => 10 [1] => 20 [2] => 30 )
[1] => Array ( [0] => 40 [1] => 50 [2] => 60 ) )
Arrays
<?php
$x=array(“ab”=>1,array(2,3,4),”cd”=>8);
print_r($x);
?>
Array ( [“ab”] => 1 [0] => Array ( [0] => 2 [1] => 3 [2]
=> 4 ) [”cd”] => 8 )
Arrays
<?php
$x=array(3=>4,array(2,3,4),5);
print_r($x);
?>
Array ( [3] => 4 [4] => Array ( [0] => 2 [1] => 3 [2] =>
4 ) [5] => 5 )
Arrays
Array operations
sort
ksort
rsort
krsort
array_merge
array_combine
array_intersect
Date Display
$datedisplay=date(“yyyy/m/d”);
print $datedisplay;
2009/4/1
$datedisplay=date(“l, F J, Y”);
print $datedisplay;
Wednesday, April 1, 2009
Month, Day & Date Format Symbols
M
F
m
n
Day
Day
Day
Day
of
of
of
of
Jan
January
01
1
Month
Month
Week
Week
d
J
l
D
01
1
Monday
Mon
Functions
Functions MUST be defined before then can be called
Function headers are of the format
function functionName($arg_1, $arg_2, …, $arg_n)
Unlike variables, function names are not case sensitive
Functions example
<?php
// This is a function
function foo($arg_1, $arg_2)
{
$arg_2 = $arg_1 * $arg_2;
return $arg_2;
}
$result_1 = foo(12, 3);
// Store
the function
echo $result_1;
// Outputs 36
echo foo(12, 3);
// Outputs 36
?>
Include Files
include “header.php”;
include (“footer.php”);
This inserts files; the code in files will be inserted into current
code.
require is identical to include except upon failure it will
also produce a fatal E_COMPILE_ERROR level error. In other
words, it will halt the script whereas include only emits a
warning (E_WARNING) which allows the script to continue.
Include Files
The include_once statement includes and evaluates the
specified file during the execution of the script.
This is a behavior similar to the include statement, with
the only difference being that if the code from a file has
already been included, it will not be included again.
The require_once statement is identical to require
except PHP will check if the file has already been included,
and if so, not include (require) it again
PHP - Forms
<?php
if ($_POST["submit"])
echo "<h2>You clicked Submit!</h2>";
else if ($_POST["cancel"])
echo "<h2>You clicked Cancel!</h2>";
?>
<form action="form.php" method="post">
<input type="submit" name="submit"
value="Submit">
<input type="submit" name="cancel"
value="Cancel">
</form>
PHP - Forms
<?php
…
$term=$_REQUEST[“sterm”];
…
?>
<form action="form.php" method="post">
<input type=“text" name=“sterm"
value=“<?= $term ?>">
</form>
MySQL Connectivity
mysql_connect()
The mysql_connect()function opens a non-persistent
MySQL connection.
This function returns the connection on success, or FALSE
and an error on failure. You can hide the error output by
adding an '@' in front of the function name.
Syntax
mysql_connect(server,user,pwd,newlink,client
flag)
MySQL Connectivity
Parameter Description
server
Specifies the server to connect to
user
Specifies the username to log in with.
pwd
Specifies the password to log in with.
newlink
If a second call is made to mysql_connect() with the same
arguments, no new connection will be established; instead, the
identifier of the already opened connection will be returned
clientflag
•MYSQL_CLIENT_SSL - Use SSL encryption
•MYSQL_CLIENT_COMPRESS - Use compression protocol
•MYSQL_CLIENT_IGNORE_SPACE - Allow space after function
names
•MYSQL_CLIENT_INTERACTIVE - Allow interactive timeout
seconds of inactivity before closing the connection
MySQL Connectivity
Example:
<?php
$con =
mysql_connect("localhost","mysql_user","mysq
l_pwd");
if (!$con){
die('Could not connect: ‘.mysql_error());
}
echo 'Connected successfully';
mysql_close($con);
?>
MySQL Connectivity
mysql_close()
The mysql_close() function closes a non-persistent
MySQL connection.
This function returns TRUE on success, or FALSE on failure.
Syntax:
mysql_close(connection)
Parameter
Description
connection
Specifies the MySQL connection to close. If not
specified, the last connection opened by
mysql_connect() is used.
MySQL Connectivity
mysql_select_db()
The mysql_select_db() function sets the active MySQL
database.
This function returns TRUE on success, or FALSE on failure.
Syntax:
mysql_select_db(database,connection)
Parameter
Description
database
Required. Specifies the database to select.
connection
Optional. Specifies the MySQL connection. If not
specified, the last connection opened by
mysql_connect() or mysql_pconnect() is used.
MySQL Connectivity
<?php
$con = mysql_connect("localhost", “root",
“admin");
if (!$con){
die('Could not connect: '. mysql_error());
}
$db_selected = mysql_select_db("test_db",
$con);
if (!$db_selected){
die ("Can\'t use test_db : “.
mysql_error());
}
mysql_close($con);
?>
MySQL Connectivity
mysql_query()
The mysql_query() function executes a query on a
MySQL database.
This function returns the query handle for SELECT queries,
TRUE/FALSE for other queries, or FALSE on failure.
Syntax
mysql_query(query,connection)
Parameter
Description
query
Required. Specifies the SQL query to send (should
not end with a semicolon)
connection
Optional. Specifies the MySQL connection. If not
specified, the last connection opened by
mysql_connect() or mysql_pconnect() is used.
MySQL Connectivity
<?php
$con =
mysql_connect("localhost",”root",”admin");
if (!$con){
die('Could not connect: ' . mysql_error());
}
$sql = "CREATE DATABASE my_db";
if (mysql_query($sql,$con)){
echo "Database my_db created";
}
else{
echo "Error creating database:" .
mysql_error();
}
?>
MySQL Connectivity
<?php
$con = mysql_connect("localhost", “root",
“admin");
if (!$con){
die('Could not connect: '. mysql_error());
}
$db_selected = mysql_select_db("test_db", $con);
if (!$db_selected){
die ("Can\'t use test_db : “. mysql_error());
}
$sql="SELECT * FROM Person where name=‘$uname’";
mysql_query($sql,$con);
mysql_close($con);
?>
MySQL Connectivity
mysql_fetch_array()
The mysql_fetch_array() function returns a row from a
recordset as an associative array and/or a numeric array.
This function gets a row from the mysql_query() function
and returns an array on success, or FALSE on failure or when
there are no more rows.
Syntax
mysql_fetch_array(data,array_type)
MySQL Connectivity
Parameter
Description
data
Required. Specifies which data pointer to use. The data
pointer is the result from the mysql_query() function
array_type
Optional. Specifies what kind of array to return.Possible
values:
•MYSQL_ASSOC - Associative array
•MYSQL_NUM - Numeric array
•MYSQL_BOTH - Default. Both associative and numeric
array
MySQL Connectivity
mysql_fetch_row()
The mysql_fetch_row() function returns a row
from a recordset as a numeric array.
This function gets a row from the mysql_query()
function and returns an array on success, or FALSE on
failure or when there are no more rows.
Syntax
mysql_fetch_row(data)
Parameter
Description
data
Required. Specifies which data pointer to use. The data
pointer is the result from the mysql_query() function
MySQL Connectivity
<?php
echo "<table>";
while ($row = mysql_fetch_row($result)) {
echo "<tr><td>".$row[0]
."</td><td>".$row[1].
"</td><td>".$row[2]."</td><td>".
$row[3]."</td></tr>";
}
echo "</table>";
?>
MySQL Connectivity
<?php
echo "<table>";
while ($row = mysql_fetch_array($result))
{
echo "<tr><td>{$row[‘ID’]}
</td><td>{$row[1]}
</td><td>{$row[2]}</td><td>
${row[‘mailid’]}</td></tr>";
}
echo "</table>";
?>
Cookies
The setcookie() function is used to create cookies.
Should be called before <html> tag.
setcookie(name, [value], [expire],
[path], [domain], [secure]);
<?php setcookie("uname", $name,
time()+36000); ?>
This sets a cookie named "uname" - that expires after ten
hours.
Either a blank value or a time in the past makes the cookie
expired.
Cookies
To access a cookie, refer to the cookie name as a variable or use
$_COOKIE array. The isset() checks whether the cookie is
set or not
<html> <body>
<?php
if (isset($uname))// isset($_Cookie[$uname])
echo "Welcome " . $_Cookie[$uname].
"!<br />";
else
echo "You are not logged in!<br />"; ?>
?>
</body> </html>
Cookies
Benefit of Cookies
Cookies are used for authenticating, tracking, and
maintaining specific information about users
Personolised home pages
Electronic shopping carts.
Why use sessions
A normal HTML website will not pass data from one
page to another
All information is forgotten when a new page is loaded
Many websites need to pass user data from one page to
another
for tasks like a shopping cart, which requires data(the user's
selected product) to be remembered from one page to the
next
Using PHP sessions is one solution.
Sessions
The session_start() function is used to create a
session. Should be called before <html> tag.
<?php
session_start();
?>
Sessions
<?php
session_start();
if (!isset($_SESSION['count']))
$_SESSION['count'] = 0;
else
$_SESSION['count']++;
?>
Sessions
session_unregister(´varname´); unregisters
a session variable
session_destroy() destroys a session