Upload
dale-howard
View
217
Download
1
Embed Size (px)
Citation preview
MySQL and PHP3 March 2006
Adina Crainiceanu
www.cs.usna.edu/~adina
IT420: Database Management and Organization
Web Database Architecture
Client browserWeb server with PHP enabled
Database Management System
HTTP API
Why Use DBMS?
Fast access to data Queries to easily extract data Built-in concurrency control Built-in security control
Learned So Far…
Client browserWeb server with PHP enabled
Database Management System
HTTP API
Goals Today
MySQL Connect from PHP to MySQL
MySQL
Relational Database Management System Free Open source Portable High performance Support available
Working with MySQL
SQL Monitor Always available Write SQL statements ; after each statement!
PHPMyAdmin
Current Settings
Each machine is a server – web, db Web server: localhost:80 MySQL server: localhost:3306 MySQL user: root, no password
ALL privileges
Disk location D:/sokkit site/ mysql/
Lab Demo
Start MySQL server Use MySQL – local machine
Lab Exercise
Start MySQL server Sokkit Control Panel Start database
Start MySQL monitor D:/sokkit/mysql/bin/mysql –u root
Create a database called vp5fund create database vp5fund;
Check database was created show databases;
SQL for MySQL
Surrogate keys variant: AUTO_INCREMENT
If column value left blank, generated value = max+1
show databases tables
describe tableName
VP-5 MVR Fund Raiser Application
Lab Exercise
To use the database just created: use vp5fund;
Create table (use SQL) Items(ItemName, Price) Orders(OrderID, ShippingAddress) ItemsOrdered(OrderID, ItemName, Quantity)
Insert few rows in tables List all rows in Orders table (use SQL)
Example Application
Database: dbmusicTable: songs(ISBN, Title, SingerID, Length)
Use DBMS from PHP
Connect to the database server Specify database to use Send queries and retrieve results Process results Close connection
All PHP functions return ‘false‘ if operation unsuccessful!
Example: $searchterm = $_POST['searchterm'];//connect@ $db = mysql_connect('localhost','root');if (!$db){
echo('connect failed');exit;
}$dbselected= mysql_select_db('dbmusic') or exit('could not select db');//query$query = "select * from songs where Title like '%$searchterm%'";//process results$results = mysql_query($query) or die("could not retrieve rows");while ($row = mysql_fetch_row($results)){
echo 'Title: '.$row[1].' <br>';}//close connectionmysql_free_result($results);mysql_close($db);
Connect to MySQL
dbconnection mysql_connect(servername, username, [password])
Always test and handle errors! Example:
$dbconn = mysql_connect(‘localhost’,’root’);if (!$dbconn){
echo ‘Could not connect to db. Exit’;exit;
}
Select Database to Use
bool mysql_db_select(dbname, [dbconnection])
Always test and handle errors! Example:
$dbs = mysql_db_select(‘dbmusic’) ordie(‘Could not select db’);
Query the Database
qresult mysql_query(query) Example:
$query = “select * from songs where Title like ‘%home%’ ”;
$results = mysql_query($query);
Process Results
nbrows = mysql_num_rows(qresult) row = mysql_fetch_row(qresult) row = mysql_fetch_array(qresult) Example:
while ($row = mysql_fetch_row($results)){
foreach($row as $column) echo “$column ”;
echo “<br />”;
}
Disconnect from Database
Free query results mysql_free_result(qresult);
Close connection mysql_close(connection)
Lab Exercise
Save order data from VP-5 Fund Raiser application into vp5fund database. Display appropriate message in order confirmation screen.
Display all orders from VP-5 Fund Raiser application.
Display all orders from VP-5 Fund Raiser application with shipping address in Maryland.
Save Your Work!
Copy the D:\sokkit\mysql\data\yourdatabase directory to your X drive