Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
52 views

Using Databases and Handling XML

This document discusses using databases and handling XML in PHP. It provides an introduction to relational databases and how they are used to store and manage large amounts of data. It also discusses the LAMP stack and introduces MySQL as a popular open-source database. The document outlines how to connect to and query a MySQL database from PHP using SQL commands. It then discusses XML and the different types of XML parsers in PHP, including DOM and SimpleXML. It provides examples of using SimpleXML to load, access, and manipulate XML data in PHP.

Uploaded by

srinidhi1956
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Using Databases and Handling XML

This document discusses using databases and handling XML in PHP. It provides an introduction to relational databases and how they are used to store and manage large amounts of data. It also discusses the LAMP stack and introduces MySQL as a popular open-source database. The document outlines how to connect to and query a MySQL database from PHP using SQL commands. It then discusses XML and the different types of XML parsers in PHP, including DOM and SimpleXML. It provides examples of using SimpleXML to load, access, and manipulate XML data in PHP.

Uploaded by

srinidhi1956
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

USING DATABASES AND

HANDLING XML
INTRODUCTION

 Relational databases are central to most of the commercial


Web development
 Databases are used to store, manage and efficiently query
large volumes of data
 They are complex pieces of software built on a relatively
simple programming model
 Let us look at some of the database facilities which can be
used by PHP
NEED FOR WEB SERVERS

 Need of web servers


 Large scale Web systems are most often based on J2EE
 A version of Java which has the features to run enterprise systems
 J2EE is massively complex once it tires to be all things to all enterprises
 Small organizations often use Microsoft products, uses .NET framework
 It is rich and powerful but not fully featured asJ2EE
 Disadvantages
 Both are proprietary
 Aimed at business developers
 Have problems of complexity and bloat
 Popular open source alternatives
 Running on GNU / Linux OS
 Apache Web server
 MySQL database
 Use of one popular programming languages PHP / Perl / Python
LAMP

 The suite of technologies


 Popular both together and individually
 Installed free of charges
INTRODUCTION TO MYSQL

 A great success story of open-source


 Resource at www.mysql.com
 Been around for a decade
 Software downloaded over 100 million times
 MySQL is overloaded – indicated two meanings
 Database engine
 Database software
USING MYSQL

 Relational databases are manipulated using a language called


SQL
 SQL commands can be used both from the MySQL interface
and from within PHP scripts
 SQL scripts are not case sensitive
 Commands end with a semicolon, but not when inside PHP
code

 SHOW DATABASES;
 Lists all of the databases which are available on the system
 USE name
 Selects one the available databases
 CREATE DATABASE name
 Creates an empty database with the name, supplied as parameter
 DROP DATABASE name
 Deletes the named database
 CREATE TABLE
 DELETE TABLE
COMMONLY USED DATABASE

 BOOLEAN – non-zero values are true and zero is false


 INTEGER [UNSIGNED] – holds integer values in the range of
+ / - 231
 MEDIUM INT – holds integer values in the range of + / - 2 2 3 ,
unsigned integers can range from 0 to 2 3 4
 DOUBLE[(m,b)]- is a double precision floating point number
accurate to 15 decimal places, if “m” is specified in parentheses it
indicates the display width of the number, “ b” represents the
precision
 DECIMAL[(m,b)] [UNSIGNED] – indicates a decimal number, m gives
the total number if digits, “d” the number of decimals
 DATE – a date in YYYY-MM-DD format
 CHAR – an ASCII character
 VARCHAR(m) – is a variable length using “m” gives the length of the
string in the range of 1 to 255
 TEXT – a piece of text of max. length 65535 characters
 ENUM(‘value’, [,’value2’[,……….,]]) an enumeration, a comma-
separated list of values, columns must take one of these values
ACCESSING MYSQL FROM PHP

 Using and accessing database is a very complex activity


 Let us consider a simple application which store name, email
address and role taken from a drop down list.
 Data is entered in an HTML form
 User queries the database, delete or amend the existing
records and add new data
KICK STARTING THE APPLICATION

1. Connection to the database


<?php
$db = mysqli_connect (‘localhost’, ‘username’, ‘password’,
‘database’);
if(!$db)
{
die(unable to connect to the database”,
mysqli_connect_error());
}
?>
2. Handling form elements
function handleForm()
{
$firstname =$_POST[‘firstname’];
$lastname = $_POST[‘lastname’];
$email = $_POST[‘email’];
$role = $_POST[‘role’];
}
OTHER METHODS

 mysqli_query(database,statement)
 mysqli_fetch_object(result)
 mysqli_fetch_row(result)
 mysqli_fetch_array(result,type)
WHAT IS XML

 The XML language is a way to structure data for sharing


across websites.
 Several web technologies like RSS Feeds and Podcasts are
written in XML.
 XML is easy to create. It looks a lot like HTML, except that you
make up your own tags.
WHAT IS AN XML PARSER?

 To read and update, create and manipulate an XML document,


you will need an XML parser.
 In PHP there are two major types of XML parsers:
 Tree-Based Parsers
 Event-Based Parsers
TREE-BASED PARSER

 Tree-based parsers holds the entire document in Memory


and transforms the XML document into a Tree structure
 It analyzes the whole document, and provides access to
the Tree elements (DOM)
 This type of parser is a better option for smaller XML
documents, but not for large XML document as it causes
major performance issues
 Example of tree-based parsers:
 SimpleXML
 DOM
EVENT-BASED PARSERS

 Event-based parsers do not hold the entire document in


Memory, instead, they read in one node at a time and allow
you to interact with in real time
 Once you move onto the next node, the old one is thrown away
 This type of parser is well suited for large XML documents. It
parses faster and consumes less memory
 Example of event-based parsers:
 XMLReader
 XML Expat Parser
HANDLING XML

 PHP has an excellent facilities for manipulating XML


 By default this language includes the expat processor library
written by James Clark (This feature can be disabled during
the compilation of PHP)
 Expat based processing is quite hard to work with
 Its underlying library provides raw access to the XML document
 Developers need to write functions which look for elements in the
XML document, extract and manipulate their attributes
PHP WITH DOM

 Document Object Model (DOM) provides a uniform interface to XML


documents
 DOM can be useful when you are creating XML documents in programs
as includes methods to create , add and validate documents
 A DOM implementation is available in PHP5
 PHP 4 has same facilities in an extension called as DOM XML
 DOM extensions give access to an API which implements DOM Level 2
through the Object Oriented interfaces
 Here the API is very low-level

 Note:
 Most programmers do not need all of the facilities of DOM implementation and
do not want to work at the level of a raw XML
 They need a nice, clean interface which lets them to extract the information
from the XML documents
 PHP 5 includes a extension called a SimpleXML to load and access the XML
documents
SIMPLE XML

 SimpleXML is a PHP extension that allows us to easily


manipulate and get XML data.
 simplexml_load_string(string)
 If the parameter is a string which represents an XML document this
method returns an object of type SimpleXMLElement
 The properties of the returned object have the name of the elements
from the XML and contain their data, attributes or children
 In case the parameter string cannot be formatted as an object of the
SimpleXMLElement type , then the Boolean value false is returned
 The contents of SimpleXMLElement object can be displayed using the
standard PHP var_dump() method
PHP SIMPLEXML - GET NODE VALUES

 Get the node values from the “ data.xml" file:


 Example
 <?php
$xml=simplexml_load_file(“data.xml") or die("Error:
Cannot create object");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
BOOKS.XML

 <?xml version="1.0" encoding="utf-8"?>


<bookstore>
  <book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
 </bookstore>
<?php
$xml=simplexml_load_file("books.xml") or die("Error:
Cannot create object");
echo $xml->book[0]->title . "<br>";
echo $xml->book[1]->title; 
?>
OTHER FUNCTIONS

 simplexml_import_dom(object)
 If the script contains an XML document as a DOM object, this
method will load the properties of that object into a
SimpleXMLElement object
 simplexml_load_file(URI)
 Generally the XML data in the script is a sting or a DOM object
 Sometimes we want to load a file which contains the XML at
runtime
 The file may be available on the local filesystem or remotely via a
URL
 This method encapsulates all of the functionality which is needed
to find and import the file and to create the SimpleXMLElement
object
 If the loading or importing the data fails the method returns false
 The underlying implementation uses the Libxml 2 library
 SimpleXMLElement->asXML()
 It takes the properties of the SimpleXMLElement object and
returns an XML document which contains them
 SimpleXMLElement ->attributes()
 Returns the attributes of the object if any, these can be iterated
across using a foreach loop
 SimpleXMLElement->children()
 Returns the children, if any, of the object so that they can be
iterated across
 SimpleXMLElement->xpath(expression)
 This method accepts an Xpath expression as its parameter
 The element is evaluated against the expression
 The result is returned as an array of SimpleXMLElement object
END of PHP

You might also like