SlideShare a Scribd company logo
Mrs. G.Chandraprabha,M.Sc.,M.Phil.,
Assistant Professor,
Department of Information Technology,
V.V.Vanniaperumal College for Women,
Virudhunagar.
MYSQL DATABASE
 world's most popular open source database
because of its consistent fast performance, high
reliability and ease of use
 Open Source License:- free
 GNU General Public License
 Free to modify and distribute but all modification must
be available in source code format
 Commercial:- not free
 Fully paid up professional support
• used by Google, Facebook Nokia, YouTube,
Yahoo!, Alcatel-Lucent, Zappos.com, etc.
BASIC DATABASE SERVER CONCEPTS
 Database runs as a server
 Attaches to either a default port or an administrator
specified port
 Clients connect to database
 For secure systems
 authenticated connections
 usernames and passwords
 Clients make queries on the database
 Retrieve content
 Insert content
 SQL (Structured Query Language) is the language used
to insert and retrieve content
• MySQL can be controlled through a
simple command-line interface; however,
we can use phpMyAdmin as an interface
to MySQL.
• phpMyAdmin is a very powerful tool; it
provides a large number of facilities for
customising a database management
system.
CONNECTING TO A MYSQL
• In order for our PHP script to access a
database we need to form a connection
from the script to the database
management system.
resourceId = mysql_connect(server, username, password);
• Server is the DBMS server
• username is your username
• password is your password
CONNECTING TO A MYSQL DBMS
• In order for our PHP script to access a
database we need to form a connection
from the script to the database
management system.
resourceId = mysql_connect(server, username, password);
• The function returns a resource-identifier type.
• a PHP script can connect to a DBMS anywhere in the world,
so long as it is connected to the internet.
• we can also connect to multiple DBMS at the same time.
SELECTING A DATABASE
• Once connected to a DBMS, we can
select a database.
mysql_select_db(databasename, resourceId);
• the resourceId is the one returned by mysql_connect()
• the function returns true if the selection succeeded; false,
otherwise.
EXAMPLE: CONNECT TO A DBMS AND
ACCESS DATABASE
<?php
$dbLocalhost = mysql_connect("localhost", "root", "")
or die("Could not connect: " . mysql_error());
mysql_select_db("glassesrus", $dbLocalhost)
or die("Could not find database: " . mysql_error());
echo "<h1>Connected To Database</h1>";
?>
• die() stops execution of script if the database connection
attempt failed.
• mysql_error() returns an error message from the previous
MYSQL operation.
READING FROM A DATABASE
• We can now send an SQL query to the
database to retrieve some data records.
resourceRecords = mysql_query(query, resourceId);
• the resourceId is the one returned by mysql_connect()
• the function returns a resource identifier to the returned data.
EXAMPLE: CONNECT TO A DBMS,
ACCESS DATABASE, SEND QUERY
<?php
$dbLocalhost = mysql_connect("localhost", "root", "")
or die("Could not connect: " . mysql_error());
mysql_select_db("glassesrus", $dbLocalhost)
or die("Could not find database: " . mysql_error());
$dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost)
or die("Problem reading table: " . mysql_error());
echo "<h1>Connected To Database</h1>";
?>
• the function will return a resource pointer (not the actual
data) to all the records that match the query.
• If all goes well, this script will output nothing on screen.
EXTRACT CONTENTS OF ONE RECORD
• We can now extract the actual data from
the resource pointer returned by
mysql_query().
fieldData= mysql_result(resourceRecords, row, field);
• the resourceRecords is the one returned by mysql_query()
• field – database field to return
• the function returns the data stored in the field.
EXAMPLE: CONNECT TO A DBMS,
ACCESS DATABASE, SEND QUERY
<?php
$dbLocalhost = mysql_connect("localhost", "root", "")
or die("Could not connect: " . mysql_error());
mysql_select_db("glassesrus", $dbLocalhost)
or die("Could not find database: " . mysql_error());
$dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost)
or die("Problem reading table: " . mysql_error());
$strSurname = mysql_result($dbRecords, 0, "Surname");
echo "<p>$strSurname</p>";
?>
• the function will return a resource pointer (not the actual
data) to all the records that match the query.
• If all goes well, this script will output a surname on screen.
SQL STATEMENT
SELECT * FROM customers;
• Go and obtain from the database
• every field
• FROM the
• customers table
VIEWING A WHOLE RECORD
To view the whole record returned from
mysql_query(), we need another
function...
• resourceRecords – resource identifier returned from
mysql_query().
• it returns an array containing the database record.
array = mysql_fetch_row(resourceRecords)
EXAMPLE: DISPLAYING ALL CUSTOMER
RECORDS
<?php
require_once("database2.php");
$dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost)
or die("Problem reading table: " . mysql_error());
while ($arrRecord = mysql_fetch_row($dbRecords)) {
echo "<p>" . $arrRecord[0] . " ";
echo $arrRecord[1] . " ";
echo $arrRecord[2] . " ";
echo $arrRecord[3] . "</p>";
}
?>
• The function returns false when the last record is returned; thus, stopping
the loop.
• Note, however, that the fields are referred to by using numbers – not very
easy to read and mistakes can be introduced.
LIMITING THE RECORDS RETURNED
SELECT Surname FROM customers
•Retrieves only the Surname field from the table customers
LIMITING THE RECORDS RETURNED
SELECT * FROM customers LIMIT 3,4
• Select a certain number of records form a table
• 3 is the starting row
• 4 is the number of records to be selected after the starting
row
SORTING RECORDS
The ORDER BY attribute can be used to sort
the order in which records are obtained.
• the ORDER BY attribute is followed by the data field on
which to sort the record
• DESC or ASC – from high to low, or from low to high
SELECT * FROM cutomers ORDER BY Surname DESC
INSERTING RECORDS
How to create new database records and insert
them into a table?
INSERT INTO table (field1, field2,...) VALUES (‘value1’, ‘value2’,...)
INSERT INTO table VALUES (‘value1’, ‘value2’,...)
•Alternatively, we have a simplified syntax:
$dbProdRecords = mysql_query("INSERT INTO products
VALUES ( ' ', 'Beer Mug', '600 ml Beer Mug', '100', '5.99')",
$dbLocalhost)
INSERTING RECORDS
Example15-14.php
<?php
// File: example15-15.php
require_once("database2.php");
$dbProdRecords = mysql_query("INSERT INTO products VALUES ('', 'Beer Mug', '600
ml Beer Mug', '100', '5.99')", $dbLocalhost)
or die("Problem writing to table: " . mysql_error());
$dbProdRecords = mysql_query("SELECT * FROM products", $dbLocalhost)
or die("Problem reading table: " . mysql_error());
while ($arrProdRecords = mysql_fetch_array($dbProdRecords)) {
echo "<p>" . $arrProdRecords["Id"] . " ";
echo $arrProdRecords["Name"] . " ";
echo $arrProdRecords["Description"] . " ";
echo $arrProdRecords["Quantity"] . " ";
echo $arrProdRecords["Cost"] . "</p>";
}
?>
DELETING RECORDS
How to delete database records from tables?
DELETE FROM table WHERE field=‘value’
e.g.
$dbCustRecords = mysql_query("DELETE FROM customers
WHERE Id='3'", $dbLocalhost)
Note: If you have a relational database, you should tidy-up the other tables, based on
their connection with the record you’ve deleted.
DELETING RECORDS
How to delete database records from tables?
DELETE FROM table
This will delete all records from a table!
Note: back-up your database first!
AMENDING RECORDS
How to modify the contents of an existing
database record?
UPDATE table SET field=‘value1’, field=‘value2’...WHERE
field=‘value’
• requires you to specify the table, the list of fields with their
updated values, and a condition for selection (WHERE).
AMENDING RECORDS
Example15-14.php
<?php
// File: example15-18.php
require_once("database2.php");
$dbCustRecords = mysql_query("UPDATE products SET Description='250 ml Tall
Glass' WHERE Id='6'", $dbLocalhost)
or die("Problem updating table: " . mysql_error());
$dbProdRecords = mysql_query("SELECT * FROM products", $dbLocalhost)
or die("Problem reading table: " . mysql_error());
while ($arrProdRecords = mysql_fetch_array($dbProdRecords)) {
echo "<p>" . $arrProdRecords["Id"] . " ";
echo $arrProdRecords["Name"] . " ";
echo $arrProdRecords["Description"] . " ";
echo $arrProdRecords["Quantity"] . " ";
echo $arrProdRecords["Cost"] . "</p>";
}
?>
AMENDING RECORDS
How to modify the contents of an existing
database record?
$dbCustRecords = mysql_query("UPDATE products SET Name='Beer
and Lager Glass' WHERE Name='Beer Glass'", $dbLocalhost)
•A number of records will be updated in this example.
Another Example:
UPDATE table SET field=‘value1’, field=‘value2’...WHERE
field=‘value’
COUNTING THE NUMBER OF RECORDS
How to count the number of records after
running a query?
$dbProdRecords = mysql_query("SELECT * FROM products",
$dbLocalhost)
or die("Problem reading table: " . mysql_error());
$intProductCount = mysql_num_rows($dbProdRecords);
• you can also use the same function to determine if a record
exists.
Thank You
Example15-21.php

More Related Content

What's hot (20)

Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
Karmatechnologies Pvt. Ltd.
 
Database Connectivity in PHP
Database Connectivity in PHPDatabase Connectivity in PHP
Database Connectivity in PHP
Taha Malampatti
 
Form Handling using PHP
Form Handling using PHPForm Handling using PHP
Form Handling using PHP
Nisa Soomro
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP Functions
Ahmed Swilam
 
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
TheCreativedev Blog
 
Php introduction
Php introductionPhp introduction
Php introduction
krishnapriya Tadepalli
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
Vikas Jagtap
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
mohamedsaad24
 
Servlet and servlet life cycle
Servlet and servlet life cycleServlet and servlet life cycle
Servlet and servlet life cycle
Dhruvin Nakrani
 
JDBC: java DataBase connectivity
JDBC: java DataBase connectivityJDBC: java DataBase connectivity
JDBC: java DataBase connectivity
Tanmoy Barman
 
Asp.net state management
Asp.net state managementAsp.net state management
Asp.net state management
priya Nithya
 
PHP FUNCTIONS
PHP FUNCTIONSPHP FUNCTIONS
PHP FUNCTIONS
Zeeshan Ahmed
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
baabtra.com - No. 1 supplier of quality freshers
 
Php array
Php arrayPhp array
Php array
Nikul Shah
 
PHP Form Validation Technique
PHP Form Validation TechniquePHP Form Validation Technique
PHP Form Validation Technique
Morshedul Arefin
 
Java Server Pages(jsp)
Java Server Pages(jsp)Java Server Pages(jsp)
Java Server Pages(jsp)
Manisha Keim
 
Event In JavaScript
Event In JavaScriptEvent In JavaScript
Event In JavaScript
ShahDhruv21
 
MYSQL.ppt
MYSQL.pptMYSQL.ppt
MYSQL.ppt
webhostingguy
 
Statements and Conditions in PHP
Statements and Conditions in PHPStatements and Conditions in PHP
Statements and Conditions in PHP
Maruf Abdullah (Rion)
 
Introduction of Html/css/js
Introduction of Html/css/jsIntroduction of Html/css/js
Introduction of Html/css/js
Knoldus Inc.
 

Similar to MYSQL - PHP Database Connectivity (20)

PHP and MySQL.pptx
PHP and MySQL.pptxPHP and MySQL.pptx
PHP and MySQL.pptx
natesanp1234
 
Php summary
Php summaryPhp summary
Php summary
Michelle Darling
 
PHP - Getting good with MySQL part II
 PHP - Getting good with MySQL part II PHP - Getting good with MySQL part II
PHP - Getting good with MySQL part II
Firdaus Adib
 
PHP with MySQL
PHP with MySQLPHP with MySQL
PHP with MySQL
wahidullah mudaser
 
MYSQL-Database
MYSQL-DatabaseMYSQL-Database
MYSQL-Database
V.V.Vanniaperumal College for Women
 
3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university
alemunuruhak9
 
Learn PHP Lacture2
Learn PHP Lacture2Learn PHP Lacture2
Learn PHP Lacture2
ADARSH BHATT
 
unit-ii.pptx
unit-ii.pptxunit-ii.pptx
unit-ii.pptx
NilamHonmane
 
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfytxjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
WrushabhShirsat3
 
MySQL with PHP
MySQL with PHPMySQL with PHP
MySQL with PHP
MsSJeyalakshmiVelsUn
 
PHP and Mysql
PHP and MysqlPHP and Mysql
PHP and Mysql
Sankhadeep Roy
 
AZMS PRESENTATION.pptx
AZMS PRESENTATION.pptxAZMS PRESENTATION.pptx
AZMS PRESENTATION.pptx
SonuShaw16
 
Sql
SqlSql
Sql
YUCHENG HU
 
MySQL for beginners
MySQL for beginnersMySQL for beginners
MySQL for beginners
Saeid Zebardast
 
Python with MySql.pptx
Python with MySql.pptxPython with MySql.pptx
Python with MySql.pptx
Ramakrishna Reddy Bijjam
 
LECTURE NOTES.pdf
LECTURE NOTES.pdfLECTURE NOTES.pdf
LECTURE NOTES.pdf
ChryslerPanaguiton
 
LECTURE NOTES.pdf
LECTURE NOTES.pdfLECTURE NOTES.pdf
LECTURE NOTES.pdf
ChryslerPanaguiton
 
Php 2
Php 2Php 2
Php 2
tnngo2
 
Python database access
Python database accessPython database access
Python database access
Smt. Indira Gandhi College of Engineering, Navi Mumbai, Mumbai
 
Database Basics and MySQL
Database Basics and MySQLDatabase Basics and MySQL
Database Basics and MySQL
Jerome Locson
 
Ad

More from V.V.Vanniaperumal College for Women (20)

inheritance in Java with sample program.pptx
inheritance in Java with sample program.pptxinheritance in Java with sample program.pptx
inheritance in Java with sample program.pptx
V.V.Vanniaperumal College for Women
 
System testing in software engineering.pptx
System testing in software engineering.pptxSystem testing in software engineering.pptx
System testing in software engineering.pptx
V.V.Vanniaperumal College for Women
 
static analysis and unit testing in SE.pptx
static analysis and unit testing in SE.pptxstatic analysis and unit testing in SE.pptx
static analysis and unit testing in SE.pptx
V.V.Vanniaperumal College for Women
 
software cost estimation techniques ppt.pptx
software cost estimation techniques ppt.pptxsoftware cost estimation techniques ppt.pptx
software cost estimation techniques ppt.pptx
V.V.Vanniaperumal College for Women
 
Software cost factors in software engineering.pptx
Software cost factors in software engineering.pptxSoftware cost factors in software engineering.pptx
Software cost factors in software engineering.pptx
V.V.Vanniaperumal College for Women
 
Planning the development Process in SE.pptx
Planning the development Process in SE.pptxPlanning the development Process in SE.pptx
Planning the development Process in SE.pptx
V.V.Vanniaperumal College for Women
 
Quality and Productivity Factors in Software Engineering
Quality and Productivity Factors in Software EngineeringQuality and Productivity Factors in Software Engineering
Quality and Productivity Factors in Software Engineering
V.V.Vanniaperumal College for Women
 
Some Size factors in software engineering
Some Size factors in software engineeringSome Size factors in software engineering
Some Size factors in software engineering
V.V.Vanniaperumal College for Women
 
Control Memory.pptx
Control Memory.pptxControl Memory.pptx
Control Memory.pptx
V.V.Vanniaperumal College for Women
 
ADDRESSING MODES.pptx
ADDRESSING MODES.pptxADDRESSING MODES.pptx
ADDRESSING MODES.pptx
V.V.Vanniaperumal College for Women
 
Data_Transfer&Manupulation Instructions.pptx
Data_Transfer&Manupulation Instructions.pptxData_Transfer&Manupulation Instructions.pptx
Data_Transfer&Manupulation Instructions.pptx
V.V.Vanniaperumal College for Women
 
Timing & Control.pptx
Timing & Control.pptxTiming & Control.pptx
Timing & Control.pptx
V.V.Vanniaperumal College for Women
 
Human Rights - 1.pptx
Human Rights - 1.pptxHuman Rights - 1.pptx
Human Rights - 1.pptx
V.V.Vanniaperumal College for Women
 
Registers.pptx
Registers.pptxRegisters.pptx
Registers.pptx
V.V.Vanniaperumal College for Women
 
Instruction Codes.pptx
Instruction Codes.pptxInstruction Codes.pptx
Instruction Codes.pptx
V.V.Vanniaperumal College for Women
 
Features of Java.pptx
Features of Java.pptxFeatures of Java.pptx
Features of Java.pptx
V.V.Vanniaperumal College for Women
 
JVM.pptx
JVM.pptxJVM.pptx
JVM.pptx
V.V.Vanniaperumal College for Women
 
Constructors in JAva.pptx
Constructors in JAva.pptxConstructors in JAva.pptx
Constructors in JAva.pptx
V.V.Vanniaperumal College for Women
 
IS-Crypttools.pptx
IS-Crypttools.pptxIS-Crypttools.pptx
IS-Crypttools.pptx
V.V.Vanniaperumal College for Women
 
IS-Delibrate software attacks.pptx
IS-Delibrate software attacks.pptxIS-Delibrate software attacks.pptx
IS-Delibrate software attacks.pptx
V.V.Vanniaperumal College for Women
 
Ad

Recently uploaded (20)

Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 20256th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 

MYSQL - PHP Database Connectivity

  • 1. Mrs. G.Chandraprabha,M.Sc.,M.Phil., Assistant Professor, Department of Information Technology, V.V.Vanniaperumal College for Women, Virudhunagar.
  • 2. MYSQL DATABASE  world's most popular open source database because of its consistent fast performance, high reliability and ease of use  Open Source License:- free  GNU General Public License  Free to modify and distribute but all modification must be available in source code format  Commercial:- not free  Fully paid up professional support • used by Google, Facebook Nokia, YouTube, Yahoo!, Alcatel-Lucent, Zappos.com, etc.
  • 3. BASIC DATABASE SERVER CONCEPTS  Database runs as a server  Attaches to either a default port or an administrator specified port  Clients connect to database  For secure systems  authenticated connections  usernames and passwords  Clients make queries on the database  Retrieve content  Insert content  SQL (Structured Query Language) is the language used to insert and retrieve content
  • 4. • MySQL can be controlled through a simple command-line interface; however, we can use phpMyAdmin as an interface to MySQL. • phpMyAdmin is a very powerful tool; it provides a large number of facilities for customising a database management system.
  • 5. CONNECTING TO A MYSQL • In order for our PHP script to access a database we need to form a connection from the script to the database management system. resourceId = mysql_connect(server, username, password); • Server is the DBMS server • username is your username • password is your password
  • 6. CONNECTING TO A MYSQL DBMS • In order for our PHP script to access a database we need to form a connection from the script to the database management system. resourceId = mysql_connect(server, username, password); • The function returns a resource-identifier type. • a PHP script can connect to a DBMS anywhere in the world, so long as it is connected to the internet. • we can also connect to multiple DBMS at the same time.
  • 7. SELECTING A DATABASE • Once connected to a DBMS, we can select a database. mysql_select_db(databasename, resourceId); • the resourceId is the one returned by mysql_connect() • the function returns true if the selection succeeded; false, otherwise.
  • 8. EXAMPLE: CONNECT TO A DBMS AND ACCESS DATABASE <?php $dbLocalhost = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error()); mysql_select_db("glassesrus", $dbLocalhost) or die("Could not find database: " . mysql_error()); echo "<h1>Connected To Database</h1>"; ?> • die() stops execution of script if the database connection attempt failed. • mysql_error() returns an error message from the previous MYSQL operation.
  • 9. READING FROM A DATABASE • We can now send an SQL query to the database to retrieve some data records. resourceRecords = mysql_query(query, resourceId); • the resourceId is the one returned by mysql_connect() • the function returns a resource identifier to the returned data.
  • 10. EXAMPLE: CONNECT TO A DBMS, ACCESS DATABASE, SEND QUERY <?php $dbLocalhost = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error()); mysql_select_db("glassesrus", $dbLocalhost) or die("Could not find database: " . mysql_error()); $dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost) or die("Problem reading table: " . mysql_error()); echo "<h1>Connected To Database</h1>"; ?> • the function will return a resource pointer (not the actual data) to all the records that match the query. • If all goes well, this script will output nothing on screen.
  • 11. EXTRACT CONTENTS OF ONE RECORD • We can now extract the actual data from the resource pointer returned by mysql_query(). fieldData= mysql_result(resourceRecords, row, field); • the resourceRecords is the one returned by mysql_query() • field – database field to return • the function returns the data stored in the field.
  • 12. EXAMPLE: CONNECT TO A DBMS, ACCESS DATABASE, SEND QUERY <?php $dbLocalhost = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error()); mysql_select_db("glassesrus", $dbLocalhost) or die("Could not find database: " . mysql_error()); $dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost) or die("Problem reading table: " . mysql_error()); $strSurname = mysql_result($dbRecords, 0, "Surname"); echo "<p>$strSurname</p>"; ?> • the function will return a resource pointer (not the actual data) to all the records that match the query. • If all goes well, this script will output a surname on screen.
  • 13. SQL STATEMENT SELECT * FROM customers; • Go and obtain from the database • every field • FROM the • customers table
  • 14. VIEWING A WHOLE RECORD To view the whole record returned from mysql_query(), we need another function... • resourceRecords – resource identifier returned from mysql_query(). • it returns an array containing the database record. array = mysql_fetch_row(resourceRecords)
  • 15. EXAMPLE: DISPLAYING ALL CUSTOMER RECORDS <?php require_once("database2.php"); $dbRecords = mysql_query("SELECT * FROM customers", $dbLocalhost) or die("Problem reading table: " . mysql_error()); while ($arrRecord = mysql_fetch_row($dbRecords)) { echo "<p>" . $arrRecord[0] . " "; echo $arrRecord[1] . " "; echo $arrRecord[2] . " "; echo $arrRecord[3] . "</p>"; } ?> • The function returns false when the last record is returned; thus, stopping the loop. • Note, however, that the fields are referred to by using numbers – not very easy to read and mistakes can be introduced.
  • 16. LIMITING THE RECORDS RETURNED SELECT Surname FROM customers •Retrieves only the Surname field from the table customers
  • 17. LIMITING THE RECORDS RETURNED SELECT * FROM customers LIMIT 3,4 • Select a certain number of records form a table • 3 is the starting row • 4 is the number of records to be selected after the starting row
  • 18. SORTING RECORDS The ORDER BY attribute can be used to sort the order in which records are obtained. • the ORDER BY attribute is followed by the data field on which to sort the record • DESC or ASC – from high to low, or from low to high SELECT * FROM cutomers ORDER BY Surname DESC
  • 19. INSERTING RECORDS How to create new database records and insert them into a table? INSERT INTO table (field1, field2,...) VALUES (‘value1’, ‘value2’,...) INSERT INTO table VALUES (‘value1’, ‘value2’,...) •Alternatively, we have a simplified syntax: $dbProdRecords = mysql_query("INSERT INTO products VALUES ( ' ', 'Beer Mug', '600 ml Beer Mug', '100', '5.99')", $dbLocalhost)
  • 20. INSERTING RECORDS Example15-14.php <?php // File: example15-15.php require_once("database2.php"); $dbProdRecords = mysql_query("INSERT INTO products VALUES ('', 'Beer Mug', '600 ml Beer Mug', '100', '5.99')", $dbLocalhost) or die("Problem writing to table: " . mysql_error()); $dbProdRecords = mysql_query("SELECT * FROM products", $dbLocalhost) or die("Problem reading table: " . mysql_error()); while ($arrProdRecords = mysql_fetch_array($dbProdRecords)) { echo "<p>" . $arrProdRecords["Id"] . " "; echo $arrProdRecords["Name"] . " "; echo $arrProdRecords["Description"] . " "; echo $arrProdRecords["Quantity"] . " "; echo $arrProdRecords["Cost"] . "</p>"; } ?>
  • 21. DELETING RECORDS How to delete database records from tables? DELETE FROM table WHERE field=‘value’ e.g. $dbCustRecords = mysql_query("DELETE FROM customers WHERE Id='3'", $dbLocalhost) Note: If you have a relational database, you should tidy-up the other tables, based on their connection with the record you’ve deleted.
  • 22. DELETING RECORDS How to delete database records from tables? DELETE FROM table This will delete all records from a table! Note: back-up your database first!
  • 23. AMENDING RECORDS How to modify the contents of an existing database record? UPDATE table SET field=‘value1’, field=‘value2’...WHERE field=‘value’ • requires you to specify the table, the list of fields with their updated values, and a condition for selection (WHERE).
  • 24. AMENDING RECORDS Example15-14.php <?php // File: example15-18.php require_once("database2.php"); $dbCustRecords = mysql_query("UPDATE products SET Description='250 ml Tall Glass' WHERE Id='6'", $dbLocalhost) or die("Problem updating table: " . mysql_error()); $dbProdRecords = mysql_query("SELECT * FROM products", $dbLocalhost) or die("Problem reading table: " . mysql_error()); while ($arrProdRecords = mysql_fetch_array($dbProdRecords)) { echo "<p>" . $arrProdRecords["Id"] . " "; echo $arrProdRecords["Name"] . " "; echo $arrProdRecords["Description"] . " "; echo $arrProdRecords["Quantity"] . " "; echo $arrProdRecords["Cost"] . "</p>"; } ?>
  • 25. AMENDING RECORDS How to modify the contents of an existing database record? $dbCustRecords = mysql_query("UPDATE products SET Name='Beer and Lager Glass' WHERE Name='Beer Glass'", $dbLocalhost) •A number of records will be updated in this example. Another Example: UPDATE table SET field=‘value1’, field=‘value2’...WHERE field=‘value’
  • 26. COUNTING THE NUMBER OF RECORDS How to count the number of records after running a query? $dbProdRecords = mysql_query("SELECT * FROM products", $dbLocalhost) or die("Problem reading table: " . mysql_error()); $intProductCount = mysql_num_rows($dbProdRecords); • you can also use the same function to determine if a record exists.