Enter your Sign on user name and password.

Forgot password?
Sign In | Sign Up
Start learning today, and be successful in your academic & professional career. Start Today!

Use Chrome browser to play professor video
Matthew M.

Matthew M.

SELECT QUERIES from PHP

Slide Duration:

Table of Contents

I. Advanced PHP with MySQL
Course Introduction

13m 36s

Intro
0:00
Advanced PHP w/ MySQL
0:13
Course Introduction
0:14
Course Content
0:59
Web Application: Educator Store
1:45
Web Application: Educator Store
1:46
Object-Oriented Programming
6:09
Object-Oriented Programming Overview
6:10
MySQL
6:50
MySQL Overview
6:51
Example: Command Prompt & MySQL
8:34
What You Will Learn
9:34
What You Will Learn
9:35
Course Prerequisites
11:52
Course Prerequisites
11:53
Advanced Course Development Environment

18m 46s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Development Environment Setup
1:36
Firefox Web Browser, XAMPP, and PSPad Text Editor
1:37
Course Directory Structure
4:36
Course Directory Structure
4:37
phpDocumentor
7:23
phpDocumentor Overview
7:24
Parsing Source Code
7:44
docs Subdirectory
9:06
Asvanced PHP Course Documentation Example
10:21
Previous Educator PHP Students
14:14
Lib Directory Changes
14:38
Images Directory Changes
14:57
VERSION Constant
15:40
Comments Noting a Specific Version Number
17:04
Homework Challenge
17:30
Homework Challenge
17:31
Introduction to File I/O

35m 37s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
File I/O
1:34
File I/O Overview
1:35
Performing file I/O: 3 Steps
1:52
File Permissions
2:28
Read Permission & Write Permission
2:29
fopen()
4:47
fopen()
4:48
Two Required Parameters
5:01
Successful fopen(): File Handle and Resource
5:21
FALSE and E_WARNING Error
6:00
Example
6:39
File Paths
7:10
File Paths
7:11
File Access Modes
9:18
File Access Modes
9:19
Coding Example: fopen()
10:31
Using Relative and Absolute Path & Non-Existent File
10:32
File Pointers
15:55
File Pointers
15:56
Example File
16:11
Opening a File with fopen() Using 'r' as the Access Mode
16:22
fgets()
17:55
fgets() Overview
17:56
Coding Example: fgets() - Reading a Line at a Time
18:26
feof()
20:10
feof() Overview
20:09
Coding Example: feof()
20:50
fclose()
23:43
fclose() Overview
23:44
Coding Example: fclose()
25:02
Coding Example: Current Stock
26:10
Coding Example: Current Stock
26:11
trim ()
31:39
trim () Overview and Example
31:40
Homework Challenge
33:35
Homework Challenge
33:36
Web Application Development

36m 36s

Intro
0:00
Lesson Overview
0:16
Lesson Overview
0:17
Version 1.0 Changelog
0:31
catalog.php
0:32
Function Library: fileLIB.php
5:00
Version 1.1 Changelog
27:12
createItemDataArray() and createDeptDataArray()
27:13
outputSimpleItemLink() and outputSimpleDeptLink()
32:06
HTTP & the POST Method

34m 36s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
HTTP Model
1:28
HTTP Model
1:29
Client-Server Model 2 Steps Process
2:00
HTTP Messages
2:23
HTTP Messages
2:24
HTTP Requests
3:09
HTTP Requests
3:10
Example: HTTP Request Header
3:17
Coding Example: HTTP Requests
4:29
HTTP Responses
7:15
HTTP Responses
7:16
Example: HTTP Response (Header & Body)
8:00
header()
11:47
header() Overview
11:48
Coding Example: header
14:02
Coding Example: header() Error
14:52
GET Method
18:55
GET Method
18:56
Coding Example: GET Method
20:13
POST Method
21:09
POST Method
21:10
Coding Example: Sample Form Using the POST Method
23:50
Accessing POST Data in PHP
26:38
Accessing POST Data in PHP
26:39
Coding Example: Accessing POST Data via $_POST
28:15
GET vs. POST
29:54
GET vs. POST
29:55
Example: Accessing POST Data via $_POST
31:20
Example: Accessing POST Data via $_POST
31:21
Homework Challenge
33:00
Homework Challenge
33:01
Web Application Development

14m 11s

Intro
0:00
Version 2.0 Changelog
0:09
Updating the Site's Current Form to Use the POST Method
0:10
Creating Admin Website
2:55
Dynamically Generated Department List
12:40
Writing to Files

17m 38s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Review of File I/O
0:40
Review of File I/O
0:41
fwrite()
1:38
fwrite()
1:39
fputs()
2:20
'r+'
2:31
Coding Example: fwrite()
2:59
fopen() Access Modes
8:41
'a' and 'a+'
8:42
'w' and 'w+'
11:34
Homework Challenge
14:47
Homework Challenge
14:48
Web Application Development

28m 14s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
Updated Open File Functions
0:19
openItemsDataFile ( ), openDeptsDataFile ( ), and openLastAddedFile ( )
0:20
insertItem()
6:25
insertItem() Overview
6:26
Functions: createItemDataString ( ) and updateLastItemAdded ( )
7:07
addItemToDepartment ()
16:03
addItemToDepartment () Overview
16:04
Functions: createDeptDataString ( ) and updateDepartment ( )
17:55
HTTP POST: File Uploads

22m 51s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
POST Data Encoding
1:13
POST Data Encoding
1:14
When Data is Included in the Body of the HTTP POST Request and is of the Content Type
1:31
When Uploading Files Using HTTP POST
3:17
Uploading Files
6:22
Uploading Files
6:23
If Encoding Type is Not Set to Multipart/Formdata
9:27
$_FILES Superglobal
10:59
$_FILES Superglobal
11:00
Structure of $_FILES
12:15
Structure of $_FILES: Name, Type, tmp_name, Error, and Size
12:16
Coding Example: $_FILES Superglobal
13:34
Moving an Uploaded File
15:39
Introduction to Moving an Uploaded File
15:40
move_uploaded_file ( ): Definition and Example
16:40
Homework Challenge
21:19
Homework Challenge
21:20
Web Application Development

15m 30s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Uploading Item Image File
1:22
Uploading Item Image File
1:23
Uploading Item Image File (cont.)
2:43
Altering insertItem ( )
2:44
Helpfer Functions: getFileExtension ( ) and moveUploadedFile ( )
4:30
isValidItem ( )
13:03
Introduction to Object-Oriented Programming

32m 44s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Object-Oriented Programming
0:56
Introduction to Object-Oriented Programming
0:57
Associative Arrays
5:27
Associative Arrays
5:28
Classes
7:27
Classes Overview
7:28
Defining Classes
8:24
Defining Classes
8:25
Declaring Class Properties
9:25
Coding Example: Classes
10:11
Objects
12:18
Objects Overview
12:19
Classes vs. Objects
12:49
Classes vs. Objects
12:50
Instantiating Classes
14:58
Instantiating Classes
14:59
Coding Example: Instantiate an Item Object
16:30
Object Properties
19:21
Access and Set an Object's Property
19:22
Coding Example: Set & Access the Properties of an Item Object
24:23
Homework Challenge
30:22
Homework Challenge
30:23
Web Application Development

17m 47s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Version 5.0 Overview
0:50
Version 5.0 Overview and Examples
0:51
Outputting Object Properties
12:38
Outputting Object Properties
12:39
Array Object Properties
14:18
Access and Set Array Value
14:19
Object Methods

39m 57s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Object Methods
0:52
Definition of Object Methods
0:53
Calling Object Methods
3:25
Calling Object Methods
3:26
Coding Example: Simple Object Methods
4:44
Object Methods and Return Values
7:02
$this Variable
10:06
$this Variable: Definition and Example
10:07
$this Variable (cont.)
15:51
$this Variable (cont.)
15:52
Getters & Setters
21:21
Getters & Setters Methods
21:22
Object Methods In Strings
25:46
Object Methods In Strings
25:47
Coding Example: Outputting Method Return Values in Strings
27:41
Using $this to Call Other Methods
28:49
Using $this to Call Other Methods
28:50
Homework Challenge
34:18
Homework Challenge: 1-3
34:19
Homework Challenge (cont.)
36:20
Homework Challenge: 4-6
36:21
Homework Challenge (cont.)
37:52
Homework Challenge: 7-10
37:53
Web Application Development

17m 30s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Version 6.0 Overview
0:40
Version 6.0 Changes & Examples
0:41
Item Methods
0:53
Item Class Definition: getImageFilename()
0:54
Coding Example: getImageFilename()
1:58
Department Methods
7:33
addItem(), removeItem(), and isItemInDept() Method
7:34
addItemtToDepartment() & buildDeptObject() Functions
11:46
A Default Value Needed to Be Set for $items
16:26
Object Constructors

22m 20s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Object Constructors
0:32
Introduction to Object Constructors
0:33
Coding Example: Object Constructors
1:43
Defining Constructors
3:26
Defining Constructors
3:27
Coding Example: Constructors with No Arguments
4:24
Constructor Arguments
8:09
Constructor Arguments
8:10
Coding Example: Constructor Arguments
9:49
Important Notes
16:13
Important Notes
16:14
Homework Challenge
17:35
Homework Challenge: 1 - 4
17:36
Homework Challenge (cont.)
19:13
Homework Challenge: 5 - 9
19:14
Homework Challenge (cont.)
21:40
Homework Challenge: 10 and 11
21:41
Web Application Development

16m 19s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
Version 7.0 Overview
0:39
Version 7.0 Overview
0:40
Item Constructor
2:19
Item Constructor
2:20
Department Constructor
7:47
Department Constructor
7:48
Customer Constructor
12:23
Customer Constructor
12:24
More Magic Methods

53m 37s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
Magic Methods
1:12
Magic Methods
1:13
Destructors
2:45
Destructors Overview
2:46
Coding Example: Calling Destructors
4:30
Coding Example: Object Destructor
9:19
_to String ()
16:12
_to String () Overview
16:13
Coding Example: _to String () Magic Method
18:10
Access Modifiers
21:23
Introduction to Access Modifiers
21:24
Access Modifiers: Public
21:39
Access Modifiers: Private
22:18
Access Modifiers: Protected
22:41
Object Properties and Methods
23:06
Coding Example: Public Access Modifiers
26:48
Coding Example: Private Access Modifiers
28:30
_get()
31:37
_get() Overview
31:38
Coding Example: _get () Magic Method
33:30
_set ()
36:23
_set () & the Magic Method
36:24
Using Getters & Setters
44:37
Coding Example: Using Getters & Setters
44:38
Homework Challenge
50:33
Homework Challenge: 1 - 6
50:34
Homework Challenge (cont.)
51:41
Homework Challenge: 7 - 12
51:42
Web Application Development

31m 12s

Intro
0:00
Version 8.0 Review
0:12
Version 8.0 Review
0:13
private Object Properties
1:15
private Object Properties
1:16
Coding Example
2:54
_toString() Methods
6:51
_toString() Methods
6:52
Coding Example
8:09
DataFile Class
13:27
DataFile Class & I/O Operations
13:28
Using DataFile Class: Instantiate a DataFile, DataFile open () Method, and DataFile close () Method
18:09
Homework Challenge
29:35
Homework Challenge
29:36
Classes vs. Objects

37m 49s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Class vs. Object Review
0:58
Class vs. Object Review
0:59
Static Properties
2:42
Static Properties
2:43
Scope Resolution Operator (::)
5:26
Scope Resolution Operator (::) & Static Property
5:27
Coding Example: Accessing a Static Property Using the Scope Resolution Operator
7:57
Coding Example: Accessing a Static Property in a Class Definition
10:33
Coding Example: Using a Static Property as an Instance Counter
14:18
Static Methods
18:51
Static Methods Overview
18:52
Coding Example: Static Methods
21:39
Classes vs. Objects
26:28
Classes vs. Objects: Diagrams
26:29
Class Constants
30:24
Class Constants Definition
30:25
Coding Example: Using Class Constants
31:55
Homework Challenge
34:01
Homework Challenge: 1 - 5
34:02
Homework Challenge (cont.)
35:25
Homework Challenge: 6 - 10
35:26
Web Application Development

21m 7s

Intro
0:00
Version 9.0 Overview
0:12
Version 9.0 Changes & Examples
0:13
Output Class
1:08
Output Class & Static Methods
1:09
outputHtmlSelector ( ) Method
2:43
outputItemSelector ( ) Method
4:53
outputDeptSelector ( ) Method
6:42
buildObject() Methods
11:54
buildObject() Methods & Examples
11:55
Exceptions

22m 43s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
try Blocks
0:44
try Blocks Definition
0:45
catch Blocks
2:03
catch Blocks: Definition and Syntax
2:04
Coding Example: try/catch Blocks
3:48
When an Exception Object is Caught & Error Handling
5:59
Exception Class
7:02
Exception Class
7:03
Coding Example: Using try/catch to Catch an Exception Thrown from a Method
8:04
Re-Throwing Exceptions
16:39
Re-Throwing Exceptions
16:40
Coding Example: Re-throwing an Exception
17:21
Homework Challenge
20:40
Homework Challenge: 1 - 5
20:41
Homework Challenge (cont.)
22:17
Homework Challenge: 6
22:18
Web Application Development

22m

Intro
0:00
Version 10.0 Overview
0:11
Updating addItem.php, addItemToDept.php, and error.php
0:12
Updating DataFile Class: open ( ) Method & try/catch blocks
7:45
Version 10.1 Overview
13:37
Version 10.1 Changes & Examples
13:38
Updating DataFile Class: close ( ) Method & logWarning ( )
20:17
Cookies

39m 47s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
What is a Cookie?
1:15
Definition of Cookie
1:16
HTTP - A Stateless Protocol
2:17
HTTP - A Stateless Protocol
2:18
Purpose of Cookies
4:10
Set - Cookie Header
6:21
Introduction to Set - Cookie Header
6:22
Coding Example: Set - Cookie Header
7:38
Cookie Header
9:45
Introduction to Cookie Header
9:46
Example: Cookie Header
10:27
setcookie()
12:33
Introduction to setcookie()
12:34
Example: Using setcookie
13:54
Cookies Attributes
15:48
Cookies Attributes Overview
15:49
Common Cookies Attributes: Domain
16:24
Common Cookies Attributes: Path
17:04
Common Cookies Attributes: Expires
19:34
Coding Example: Setting Cookie Attributes
20:58
$_COOKIE Superglobal
27:03
$_COOKIE Superglobal
27:04
Coding Example: Accessing Cookies from PHP Using $_COOKIE
29:45
Security Implications
34:44
Security Implications
34:45
Homework Challenge
36:10
Homework Challenge: 1 - 4
36:11
Homework Challenge (cont.)
37:47
Homework Challenge: 5 - 7
37:48
Web Application Development

39m 11s

Intro
0:00
Lesson Overview
0:17
Lesson Overview
0:18
instanceof Operator
1:34
instanceof Operator
1:35
Objects with Object Properties
2:53
Objects with Object Properties
2:54
Version 11.0 Overview
6:41
Version 11.0 Changes: Cart and CartItem Classes
6:42
Version 11.0 Coding Example
10:40
Version 11.1 Overview
31:03
Version 11.1 Changes & Examples
31:04
Introduction to Sessions

46m 8s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
What is a Session?
0:53
What is a Session?
0:54
Client-Side Sessions
3:51
Client-Side Sessions
3:52
Server-Side Sessions
5:04
Server-Side Sessions
5:05
Session IDs
6:26
Session IDs
6:27
The SID is Used by the Server to:
7:08
A Client Passes an SID to the Server with Each HTTP Request Via:
8:15
Sessions in PHP
12:19
Sessions in PHP
12:20
session_start()
14:40
session_start() Overview
14:41
Coding Example: Using session_start () to Continue a Session
18:03
$_SESSION Superglobal
22:06
$_SESSION Superglobal Overview
22:07
Coding Example: Setting a Session Variable via $_SESSION
25:22
Accessing Session Data
28:08
Accessing Session Data
28:09
Deleting Session Data
31:43
Deleting Session Data
31:44
Coding Example: Deleting Session Data
32:16
Configuring PHP Sessions
36:14
session.cookie_lifetime, session.cookie_domain, and session.cookie_path
36:15
Coding Example: Configuring PHP Sessions
37:28
Configuring PHP Sessions (cont.)
40:56
session.use_cookies, session.use_trans_sid, and session.use_only_cookies
40:57
Coding Example: Configuring PHP Sessions
42:25
Homework Challenge
42:55
Homework Challenge: 1 - 5
42:56
Homework Challenge (cont.)
44:10
Homework Challenge: 6 - 10
44:11
Homework Challenge (cont.)
45:27
Homework Challenge: 11 - 13
45:28
Web Application Development

11m

Intro
0:00
Version 12.0 Overview
0:12
Version 12.0 Changes Part I: Updating 'viewCart.php' & 'checkout.php'
0:13
Version 12.0 Changes Part II
5:03
Destroying Sessions

29m 59s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Destroying Sessions
1:02
Destroying Sessions
1:03
session_destroy()
2:10
session_destroy() Overview
2:11
Coding Example: Setting a Session Variable and Destroying a Session
3:18
Deleting Session Cookies
8:38
Deleting Session Cookies
8:39
Coding example: Deleting Session Cookies
9:17
Review of Steps
21:07
Review of Steps
21:08
Garbage Collection
21:50
Garbage Collection Overview
21:51
Coding Example: Garbage Collection
24:30
Homework Challenge
26:28
Homework Challenge: 1 - 4
26:29
Homework Challenge (cont.)
28:16
Homework Challenge: 5 - 9
28:17
Web Application Development

19m 14s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
_autoload()
0:46
Introduction to _autoload ()
0:47
Version 13.0 Overview
4:06
_autoload () and SessionManager Class
4:07
Updating 'viewCart.php' & 'checkout.php'
11:16
Introduction to Databases

21m 24s

Intro
0:00
Lesson Overview
0:16
Lesson Overview
0:17
Flat Files
1:09
Flat Files: Definition and Example
1:10
Problems Associated with Using Flat Files as a Database
2:15
Relational Databases
3:29
Relational Databases
3:30
Relational Database Management System (RDBMS)
3:50
Tables
7:43
Tables
7:44
Columns
9:24
Columns
9:25
What is SQL?
10:45
Introduction to Structured Query Language
10:46
Standard Data Types of SQL
12:23
Primary Keys
13:19
Primary Keys
13:20
Primary Key Examples
16:36
Primary Key Examples
16:37
Introduction to MySQL

28m 11s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
What is MySQL?
1:33
MySQL
1:34
MySQL Monitor
5:16
MySQL Monitor Overview
5:17
XAMPP & MySQL
5:58
In the MySQL Command: hostname, username and -p
7:05
Connecting to a MySQl Server
9:52
Connecting to a MySQl Server
9:53
Using MySQl Monitor
13:48
Using MySQl Monitor
13:49
GRANT Command
15:10
GRANT SQL Command
15:11
Privileges & Objects
18:18
Username, Hostname, and Password
19:37
Specifying Objects
20:05
Creating a PHP User Account
21:41
Creating a PHP User Account Overview
21:42
Meaning of all & *.*
23:35
Example: Creating a PHP User Account
23:48
Required Homework
26:27
Required Homework: 1 - 5
26:28
Required Homework (cont.)
27:28
Required Homework: 6
27:29
Creating Databases & Tables

23m 1s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
Creating a Database
1:40
Introduction to Creating a Database
1:41
Example: Creating a Database
3:33
CREATE TABLE Command
6:43
CREATE TABLE Command
6:44
Data Types
7:39
Numeric Data Types: INT, INT UNSIGNED, and DECIMAL
7:40
String Data Types: CHAR (M), VARCHAR (M), and TEXT
9:23
Colum Attributes
11:00
PRIMARY KEY Attribute
11:01
AUTO INCREMENT Attribute
11:35
Items Table
13:07
Items Table
13:08
Useful Commands
17:04
SHOW TABLES Command & DESCRIBE Utility Statement
17:05
Example: Creating an Items Table
17:58
Required Homework
20:51
Required Homework: 1 - 6
20:52
Required Homework (cont.)
21:55
Required Homework: 7 - 9
21:56
SQL Command: INSERT

27m 11s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
INSERT Command
1:20
SQL INSERT Command
1:21
Specifying Values
3:16
Columns with Numeric Data Types
3:17
Columns with String Data Types
3:34
Columns with AUTO INCREMENT
4:07
Inserting Items
5:21
Inserting Items
5:22
Example: Inserting Items
7:03
SQL Text Files
14:04
SQL Monitor Client
14:05
MySQL Monitor & the < Operator
15:15
Example
17:35
Required Homework
22:32
Required Homework: 1 - 6
22:33
Required Homework (cont.)
24:19
Required Homework: 7 - 10
24:20
SQL Command: SELECT

24m 57s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
SELECT Command
0:42
SELECT Command: Definition and Syntax
0:43
Results of a SELECT Query
1:53
To Specify the Retrieval of All Columns from a Table
3:06
Example: SELECT Command
4:18
WHERE Clause
7:11
WHERE Clause
7:12
A SELECT Query with WHERE Clause has the Following Syntax
8:10
A Where Condition can Contain both Logical and Comparison Operators
9:44
Literal Values
13:24
Literal Values
13:25
Example: Literal Values
14:18
ORDER BY Clause
15:31
ORDER BY Clause & SELECT Query
15:32
Ascending and Descending Order
17:30
An ORDER BY Clause can Specify Multiple Columns to Order the Rows by
18:01
Example: SELECT Query with WHERE and ORDER BY Clause
20:32
Homework Challenge
21:59
Homework Challenge
22:00
Homework Challenge (cont.)
23:54
Homework Challenge
23:55
Using PHP from MySQL

32m 43s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
PHP/MySQL Architecture
0:56
PHP/MySQL Architecture
0:57
MySQLi Extension
3:05
MySQLi Extension
3:06
Steps to Using MySQL from PHP
5:53
Four Steps to Using MySQL from PHP
5:54
Step # 3
7:18
Connecting to a Database
8:12
To Connect to a MySQL Database
8:13
To Test for Connection Errors
10:20
Running an SQL Statement
11:54
Running an SQL Statement
11:55
Example
13:30
Processing the Results
15:58
For non-SELECT Queries
15:59
MySQLi Object Property: affected_rows
16:19
For INSERT Statements on Tables with an AUTO_INCREMENT Column
18:07
Closing the Connection
19:45
Closing the Connection
19:46
Coding Example
21:24
Coding Example: Using MySQL from PHP
21:25
Homework Challenge
29:00
Homework Challenge: 1 - 4
29:01
Homework Challenge (cont.)
31:10
Homework Challenge: 5 - 9
31:11
Web Application Development

30m 30s

Intro
0:00
Lesson Overview
0:14
Lesson Overview
0:15
sprintf()
1:28
sprintf() Overview
1:29
Example
1:56
INSERT Statements with sprintf()
5:15
INSERT Statements with sprintf()
5:16
Version 14.0 Overview
10:00
Version 14.0 Changes & Examples Part 1
10:01
Version 14.0 Changes & Examples Part 2
21:58
SELECT QUERIES from PHP

24m 22s

Intro
0:00
Lesson Overview
0:14
Lesson Overview
0:15
SELECT Queries
1:21
SELECT Queries
1:22
MySQLi_Result Class
3:17
MySQLi_Result Class: num_rows
3:18
MySQLi_Result Class: fetch_assoc ( ) and fetch_object ( )
3:59
fetch_assoc()
5:17
fetch_assoc() Overview
5:18
Coding Example: Using fetch_assoc()
9:00
stdClass Objects
12:46
stdClass Objects
12:47
fetch_object()
14:19
fetch_object() Overview
14:20
Coding Example: Using fetch_object()
16:45
Freeing Result Set Memory
18:42
Freeing Result Set Memory
18:43
Coding Example: Using free ( )
20:01
Homework Challenge
22:07
Homework Challenge: 1 - 5
22:08
Web Application Development

17m 6s

Intro
0:00
Version 15.0 Overview
0:13
Version 15.0 Changes & Examples Part 1
0:14
Version 15.0 Changes & Examples Part 2
8:43
Linking Tables

24m 32s

Intro
0:00
Lesson Overview
0:16
Lesson Overview
0:17
A Departments Table
1:08
Departments Table
1:09
How Could We Model This in a Table: Option 1
1:26
How Could We Model This in a Table: Option 2
3:12
Database Normalization
4:37
Database Normalization
4:38
Foreign Keys
8:47
Foreign Keys
8:48
Linking Table
11:26
Linking Table
11:27
Multiple Column Primary Keys
15:30
Multiple Column Primary Keys
15:31
Example
18:51
Required Homework
22:34
Required Homework: 1 - 3
22:35
Required Homework (cont.)
24:10
Required Homework: 4
24:11
Web Application Development

24m

Intro
0:00
Version 16.0 Overview
0:11
Version 16.0 Changes
0:12
Version 16.0 Coding Examples
4:12
Version 16.0 (cont.)
18:30
Version 16.0 Changes & Examples Part 2
18:31
SQL Command: DELETE

10m 33s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
DELETE Statement
0:30
DELETE Statement & Its WHERE Clause
0:31
Delete All Rows From a Table
2:57
Using DELETE from PHP
4:04
Using DELETE from PHP Overview
4:05
Coding Example: Using DELETE from PHP
6:37
Homework Challenge
8:53
Homework Challenge: 1 - 4
8:54
Web Application Development

16m 2s

Intro
0:00
Version 17.0 Overview
0:11
Version 17.0 Changes
0:12
Version 17.0 Coding Example
2:51
Transactions
12:50
Database Transaction
12:51
Steps in Using Transactions
14:00
SQL Command: UPDATE

32m 14s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
UPDATE Statement
0:54
UPDATE Statement & Its WHERE Clause
0:55
Example: UPDATE Statement
3:32
Using UPDATE from PHP
5:21
Using UPDATE from PHP Overview
5:22
Coding Example: Using UPDATE from PHP
6:53
htmlspecialchars()
9:04
htmlspecialchars()
9:05
Encoding Special Characters
9:23
Coding Example: htmlspecialchars()
13:41
addslashes()
20:40
addslashes()
20:41
Coding Example: addslashes()
22:52
Homework Challenge
27:55
Homework Challenge: 1 - 2
27:56
Homework Challenge (cont.)
30:14
Homework Challenge: 3 - 5
30:15
Homework Challenge (cont.)
30:41
Homework Challenge: 6 - 9
30:42
Web Application Development

12m 33s

Intro
0:00
Version 18.0 Overview
0:12
Version 18.0 Changes
0:13
Version 18.0 Coding Example
1:24
SQL: Joins

42m 16s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
DATETIME Data Type
1:52
DATETIME Data Type
1:53
Modeling Orders
5:12
Modeling Orders
5:13
Customers Table
10:46
Customers Table
10:47
Example
16:18
Example: Order Table in MySQL
16:19
Joins
22:26
Joins Overview
22:27
Inner Join
23:09
Example: Joins
24:11
Join Conditions
28:14
Join Conditions
28:15
Example
28:32
Join Queries
30:00
Example: Join Conditions in MySQL
30:36
Implicit Joins
34:42
Implicit Joins
34:43
Example: Implicit Joins
35:57
Aliases
37:28
Introduction to Aliases
37:29
Example: Aliases
38:55
Required Homework
40:32
Problem 1
40:33
Problem 2
41:01
Problem 3
41:17
Web Application Development

29m 34s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Inserting Orders
0:44
Inserting Orders
0:45
Version 19.0 Overview
3:45
Version 19.0 Changes & Example Part 1
3:46
Version 19.0 Changes & Example Part 2
13:18
Version 19.1 Overview
21:10
Version 19.1 Changes
21:11
Version 19.1 Coding Example
22:18
User Authentication

26m 13s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
User Authentication
1:31
User Authentication
1:32
Authentication with Sessions
2:34
Authentication with Sessions
2:35
Four Steps in Authentication via Sessions
2:50
Using Sessions to Restrict Access
3:58
Using Sessions to Restrict Access
3:59
Coding Example: Restricted Access Area
4:47
Authentication Methods
5:54
Authentication Methods Overview
5:55
Coding Example: Authentication Methods
7:31
Logging Out
9:57
Logging Out
9:58
Coding Example: Log Out
10:47
Users Table
13:50
Users Table
13:51
Example: Creating a Users Table
15:08
Password Hashing
17:30
Password Hashing
17:31
PHP and MySQL Built-in Hash Functions: sha1 ( ) and md5 ( )
18:43
Coding Example: Password Hashing
19:27
Required Homework
24:41
Required Homework: 1 - 4
24:42
Web Application Development

14m 36s

Intro
0:00
Version 20.0 Overview
0:13
Version 20.0 Changes & Examples Part 1
0:14
Version 20.0 Changes & Examples Part 2
5:05
Version 20.0 Changes & Examples Part 3
7:29
Version 20.0 (cont.)
8:31
Version 20.0 Changes & Examples Part 4
8:32
Loading...
This is a quick preview of the lesson. For full access, please Log In or Sign up.
For more information, please see full course syllabus of Advanced PHP
  • Discussion

  • Study Guides

  • Download Lecture Slides

  • Table of Contents

  • Transcription

  • Related Services

Lecture Comments (4)

1 answer

Last reply by: Steven Morrison
Sat Jan 11, 2014 12:06 PM

Post by Gustave Hunkele on April 24, 2013

Hello Matthew, I am in love with PHP and this course in particular. I noticed that many programmers and tutorials use mysql_connect vs. mysqli to connect to MYSQL databases. Is that the same command?

1 answer

Last reply by: Matthew M.
Wed Apr 11, 2012 5:09 PM

Post by Brian Albert on March 1, 2012

Matthew, great class I have learned so much. Thank you for doing such a great job. Quick question: in the educator store example would free() be used in item.php towards the end of the script like in your example or would you use free() in the methods of DatabaseAccess that use SELECT? My guess is that free() should be used in item.php but I'm not sure. Also, is there any way to confirm that server memory has in fact been freed. Thank you for any information.

SELECT QUERIES from PHP

  • SELECT queries return a ‘table’ of data known as a result set.
  • SELECT queries are run using MySQLi->query() and will return a MySQLi_Result object, which is a class is used to represent result sets returned from SELECT queries.
    • It has the property num_rows which holds the number of rows in the result set.
    • It has the following methods for processing the result set, which will return NULL if there are no more rows in the result set:
      • fetch_assoc() – fetch a row of the result set & return it as an associative array
      • fetch_object() – fetch a row of the result set & return it as an object of class stdClass
  • fetch_assoc() returns the next row of a result set as an associative array with the keys of the array being the names of the columns in the result set.
  • PHP has a built-in class called stdClass that can be used to hold data in object form as object properties. All of the properties of an instance of a stdClass object are publicly accessible.
  • fetch_object() returns the next row of a result set as a stdClass object with property names matching the names of the columns in the result set.
  • MySQLi_Result->free()is used to free memory used by a result set. It should always be called after the processing of a result set is finished.
  • Additional Resources:

SELECT QUERIES from PHP

Lecture Slides are screen-captured images of important points in the lecture. Students can download and print out these lecture slide images to do practice problems as well as take notes while watching the lecture.

  • Intro 0:00
  • Lesson Overview 0:14
    • Lesson Overview
  • SELECT Queries 1:21
    • SELECT Queries
  • MySQLi_Result Class 3:17
    • MySQLi_Result Class: num_rows
    • MySQLi_Result Class: fetch_assoc ( ) and fetch_object ( )
  • fetch_assoc() 5:17
    • fetch_assoc() Overview
    • Coding Example: Using fetch_assoc()
  • stdClass Objects 12:46
    • stdClass Objects
  • fetch_object() 14:19
    • fetch_object() Overview
    • Coding Example: Using fetch_object()
  • Freeing Result Set Memory 18:42
    • Freeing Result Set Memory
    • Coding Example: Using free ( )
  • Homework Challenge 22:07
    • Homework Challenge: 1 - 5

Transcription: SELECT QUERIES from PHP

Hello again, and welcome back to Educator.com's Advanced PHP with MySQL course.0000

In the last few lessons, we have been working with learning how to run INSERT statements from within our PHP code.0005

In today's lesson, we are going to learn how to run SELECT queries from within PHP.0010

We are going to talk a little bit about SELECT queries and how they work, as far as returning results.0016

We are going to talk about something we mentioned in our lesson where we first introduced accessing MySQL from PHP,0023

which is the MySQLi_Result class, which is part of the MySQLi extension.0030

And it is a class that is used to represent results returned from a SELECT query.0036

We are going to talk about the fetch_assoc method, which is part of this Result class0042

that is going to allow us to access information from the results of the SELECT query.0047

We are going to talk about something called the stdClass objects, which is like a basic object that is built into PHP.0054

We are going to talk about an alternative to fetch_assoc, which is fetch_object, which is another way to allow us0061

to access information in the results returned from a SELECT query.0067

And then, we are going to talk briefly about freeing up result set memory, which means freeing up the memory0071

that is occupied by results that are returned from a SELECT query.0078

SELECT queries return a table of data, and the data that it returns is known as a result set.0084

And you hear me use that term; I have probably used it before.0091

When you run a SELECT query, it returns a table of data that contains rows; it is called a result set.0094

And if I start on MySQL Monitor, and I run a SELECT statement on our Items table,0103

we can see that this is a result set--this is a table of data that it returns.0114

It has, in this case, 6 different rows with 3 different columns.0118

And what we do is: we are going to be able to loop over this result set, processing each row, one at a time, extracting any information we need to know.0124

For example, we might want to output the name and price of every item returned by this SELECT query.0132

The result set that we get returned needs to be processed to extract the data, as we had just mentioned--to extract whatever data we want.0139

And then, the memory that that result set occupies should be freed.0146

For example, maybe we run a SELECT query that returns 1,000 items from our database.0151

Let's say you have this huge store; well, that occupies memory on the server, so you want to be able to free that memory up.0155

And we are going to talk a little bit about that in the last slide of the lesson.0162

SELECT queries are run in the same way that we learned how to run our INSERT queries.0167

You simply run them using the query method of our MySQLi object.0173

The difference is that, when you run a SELECT query, it is going to return (assuming that the query was successful;0178

if it is not, it returns false) a result set that is in the form of this new object that we are going to learn about, called MySQLi_Result,0183

which is an object that encapsulates the result set returned from a SELECT query.0192

It represents, as just mentioned, the result set from a query.0201

And as an object, it has properties and methods.0205

One of the properties that it has is num_rows, and what that tells you is the number of rows that this particular result set returns.0208

If we look back at this SELECT query we had run in MySQL Monitor, the result set had 6 rows.0218

So, if we ran this through PHP, this result set object would have the num_rows property be equal to 6.0223

And so, that is one of the things we can learn about: how many rows were returned from a query.0233

And then, it also has the following object methods for processing a result set.0240

There is one called fetch_assoc, which allows you to fetch a row from this result set, one row at a time.0243

And it returns that information from each row as an associative array.0252

It has an analog called fetch_object, which does the same thing, except that, instead of returning the data from a particular row0258

in the result set as an associative array, it returns it as an object.0266

And in particular, it returns it as an object of a class type known as StdClass,0271

which is a built-in class type in PHP that we are going to talk about in a little bit.0277

The way the two fetch methods work is that you use them to loop over the rows of a result set.0284

We saw that our result set for our SELECT query that we just looked at had 6 rows in it.0289

Well, what you do is continually call this fetch_assoc or fetch_object method on your MySQLi_Result object.0294

And every time you do that, it is going to return either an associative array or an object representing that particular row.0304

And it will continue to return rows, until it reaches the end of the result set--there are no more rows--in which case, it will return null.0309

The way that it works...well, first we are going to talk about the fetch_assoc method, which, again, returns an associative array;0320

and what it does is returns an associative array where the keys of the array are the names of the particular columns.0328

For example, if this was our particular result set, if we got the first row of this result set using fetch_assoc,0336

it would return an associative array of length 3.0345

It would have one key called itemID with the value set to 1001.0349

It would have a key called name, set to the value '100% Cotton T-Shirt.'0353

And it would have a key named price, set to $15.0358

And so, that is the way you would access the different information.0362

Let's say we wanted to output the item ID and name of every item in our items database.0368

Well, we could create a query that says "SELECT * FROM Items," which is going to pull all of the column data from Items.0374

And then, what we do is call this query method.0381

This is assuming, like in our last lesson, that this db variable is a valid MySQLi object,0384

which means we have already opened a connection to the database.0392

Assuming that is the case, we have verified that the connection is open.0395

We can run the query method on it, pass it this SELECT query, and then this time, we are going to be storing the results in a variable called Results.0399

And assuming that the query is successful, it is going to return Results.0407

And Results is going to be an object of the type MySQLi_Result.0413

And as mentioned, that class, MySQLi_Result, has a method fetch_assoc as part of it that allows us to fetch each row of the result set as an associative array.0423

What we can do is create a while loop to loop over the result set.0435

And what it does is: on each iteration of this loop, it sets a variable we have called row0439

equal to the associative array that is returned next by the fetch_assoc function.0447

And if you will notice, this fetch_assoc function is called on this Results variable,0454

because fetch_assoc is a method of the MySQLi_Result class.0461

And that is key to note, because a common mistake at first sometimes would be to run it on, for example, our MySQLi object,0469

and say db/fetch_assoc; so that is one important thing to note: we call it on that actual MySQLi_Result object.0477

And then, for each iteration through this loop--for each row that we get--0491

we are going to output the item ID of that particular row and the name of that particular item in that particular row.0496

And as you notice here, we are accessing it as an associative array.0504

And this is within double-quoted strings, which is why we don't have the single quotes around these.0509

And so, the row comes back as an associative array; it has itemID as one of the keys, and it has name as one of the keys; and we are going to output that.0514

Now, this loop is going to continue for each row that is returned in our result set, until there are no more results,0523

because what is going to happen: as we learned, when fetch-assoc is called, and all the rows have been returned from a result set,0528

it is going to return null; when this evaluates to null, it is going to evaluate to false, and it is going to kick out of the loop.0535

Let's take a look at a script I created called fetchAssoc.0541

And at the beginning of the script, it goes through the four steps that we learned about, accessing MySQL from PHP.0546

You open a connection to the database; you run a query; you process the results; and then you close the connection.0553

Here, in step 1, this is the same step as we had before in our last example, when we used an INSERT query.0559

We have created a new MySQLi object; we test if any errors occurred; and if not, we go ahead and continue.0567

And then, we are going to run an SQL statement.0574

In this case, we are running a SELECT statement, and it is going to ask to get the itemID and the name for all of the rows in the table Items.0577

And then, we are going to run this query using the query method, just as we had done before with our INSERT query.0586

This time, we are going to store the results of this query method (which, assuming that there is no error with the SELECT query,will be a MySQLi_Result object).0592

And then, this is where things will be different--in our processing of the query results.0604

In our last example, where we worked on running an INSERT query from PHP code, we would look at the affected_rows property and the insert_id property.0610

Well, now we are actually getting back data, in the form of this result set object.0624

We are going to do a little more processing here, so this is where step 3 differs a little bit from our INSERT query.0627

The first thing we do is check to see if the number of rows is greater than 0.0635

We access this num_rows property that we had mentioned on the slide, that is a property of that MySQLi_Result object.0641

As long as that is greater than 0 (which means that there were some rows returned in our result set),0649

then we are going to loop over the rows of the result set, using this fetch_assoc method.0654

And then, we are going to output the itemID and the name of each item in that table.0658

If no rows were returned, then we are going to output a statement that says no rows were returned for the specified query.0666

Finally, as we had in our lesson on using an INSERT statement from PHP, we complete step 4, which is to close the database connection.0674

And we output an error if there is a problem closing the database connection.0683

As we can see, we currently have 6 default items in our Items table.0688

If we go and run this fetch_assoc.php script, it is going to run that SELECT query that is going to say,0695

"Give me the itemID and name of every item in the Items table, and then output them."0703

And so, when we run it, we can see that that is exactly what it has done.0708

It has output ID 1001, which is named 100% Cotton T-Shirt, and so on for the rest of the items in that particular table.0711

Now, just to show you how the error message would work, let's say that we added a WHERE clause to this query.0723

Let's say we only want to return the item ID and name from the Items table where itemID equals 1007.0731

And we just looked at the output of that SELECT statement on the table, and we saw that there is no item 1007.0739

This is going to return 0 rows.0745

So, when we get down here, and we access the num_rows property on our result set object, it is not going to be greater than 0.0748

And so, we are going to output that no results were returned for this specific query, just to show you how that works.0755

And we refresh the page; it is going to show that no results were returned for the query.0760

Now, I just want to talk about a built-in class in PHP that is called stdClass.0769

It is kind of like a built-in function.0772

It is a class that is used to just hold basic data; it is a basic data object.0775

And it has all of its properties that are publicly available.0779

Essentially, you could create a variable, if you wanted to create an instance of the class; and we do so like this.0783

And then, you can just set properties on it, and it will automatically set them.0794

For example, we have this new object, a, that has no properties;0799

well, we could create a new property on it, simply by setting a property name equal to Joe.0803

And then, we could access that property, simply using the arrow syntax, as we normally would on an object, name.0810

And that would output the name that we have set.0820

What we are going to be using in our next example is: we are going to be using the fetch_object method of our result set class.0822

And what that is going to do is: that is going to return the information in a particular row of the result set as an object.0833

And it is going to return it as an object of the stdClass type.0839

This slide here is just to explain what a standard class is.0845

It is an empty object that you can populate with data values, and then you can access them in the same way that you would a regular data object.0848

So, fetch_object, as mentioned, is going to return the next row of the result set each time it is called.0860

And it is going to return it as a stdClass object.0866

And the key is that the stdClass object is going to have a property for each column in the result set.0870

The property names of the stdClass object that is returned are going to match the properties of our table.0876

For example, when we run a SELECT query on our Items table, if we were to run this query here, and we would get this result set back,0886

when we would call fetch_object for the first time on this result set, it would return a stdClass object0895

that would have a property called itemID whose value would be set to 1001.0900

It would have a property named name whose value would be set to 100% Cotton T-Shirt.0904

It would have a property named price that would be set to $15.0908

Here we are again: we set up a query that selects all the rows in the Items table.0915

We run the query, and we get our result set back as a MySQLi_Result object.0920

And now, the difference here is that, when we loop over the result set,0926

we are going to be calling this fetch_object method instead, and storing that in the row.0931

So now, whereas before when we would echo information about a row, we were echoing it using an array syntax,0935

because it was returning an associative array, now we return it as an object, so we access it using object syntax,0946

which involves curly braces and then the arrow operator; and then you mention the name of the property you want.0953

This itemID would refer to the column itemID that is returned.0959

name would refer to the value associated with the column name that was returned in this particular row.0964

This is going to loop over our result set, until the end of the result set is reached,0971

in which case fetch_object, like fetch_assoc, will return null.0975

These are two ways of doing the same thing; it just depends whether you prefer to use an associative array to access your information, or an object.0980

And part of the reason I mention both of them is that you will see both of these used in PHP applications out there.0989

So, this will give you experience seeing both of them.0995

The preference that we are going to be using in this course is to use the fetch_object method and keep things in an object-oriented manner.0998

We have also created a fetchObject.php script, which is exactly the same as our last script, fetchAssoc.php.1006

We create a SELECT query that says, "Get the item ID and name from every row in the Items table."1015

We test if the number of rows is greater than 0.1020

And then here, instead of calling fetch_assoc in our while condition, we set row equal to the return value from fetch_object,1023

which is going to be that stdClass object, with properties that are named according to the columns in the result set.1033

And then, here we are just outputting the item ID and name of each item, using the syntax for accessing object properties.1041

We are going to access the itemID property of this row variable,1052

which is going to be the itemID property of the stdClass variable, which was created by fetch_object.1057

Here, we are going to output the name; and so, it should output the same information that we had done before.1062

If no rows are returned, it is going to output a message, and then it simply closes the connection, as before.1067

If we go back and run this new script fetchObject, we can see that it does exactly the same thing that we had done before.1072

Just to show you how it works dynamically as the database goes, and to show you that it is actually working when we add new items,1080

I'm just going to add a new item to our database, using the admin site that we created in our last version of the web application.1088

It is going to say item 1007 was added.1105

And so now, if we refresh our page that loads all of the items from our Items table,1109

we can see that it shows up as 'item 1007 has been added,' as well.1115

The last thing I want to talk about in this lesson is a method called the free method, which is a method of the MySQLi_Result class, or result set object class.1123

And what it does, as mentioned: it frees memory associated with the result set.1133

As we mentioned at the beginning of the lesson, result sets occupy memory on the server.1138

And so, when you are done using them, you want to de-allocate that memory so that it can be used for something else,1144

so you are not consuming all of the server's resources.1150

The way you do that is: you call the free method on your MySQLi_Result object when you are done using it; and that frees the memory.1154

And you should always call this after you are done processing a result set, just for the reason of freeing your resources.1163

For example, this is the same section of code from our last slide on fetch_object,1171

except now, at the end, we have added this method call free.1177

And the method is called on a MySQLi_Result object.1182

And so again, just to make sure that you don't get confused: we wouldn't be calling it1188

on our database object, for example--our MySQLi object, which might be a common mistake at first.1195

It is called on the result set object.1200

Here, we just have a script that has been created called free.php.1203

It is the exact same thing as our fetchAssoc script, except that, in addition, it adds this method call that is going to free up the memory from the result set.1206

If we look at our fetchAssoc, we can see that after the else loop, it goes straight into step 4, which closes the database.1221

Here, after our else loop, it goes to this free method, and then closes the database.1236

It doesn't affect the output of our script, but it does affect how that memory is going to be freed on the server.1240

Just to show you how it works: when we go ahead and run free.php, it is going to do the same thing as the other scripts.1246

It is going to request all of the items from the database, and then output their item ID and item name.1251

And so, that is the process for running a SELECT query.1258

And this is an additional step that is also not part of when we ran an INSERT statement.1263

Our INSERT statements don't generate a result set, so you don't need to free memory for them.1269

But you do for SELECT queries.1273

To run SELECT queries, our steps are: we open a connection to the database by creating a new MySQLi object;1275

we run our SELECT query, using the query method; then, we process the result set that is returned1282

by using either fetch_assoc or fetch_object.1288

And we can also test for the number of rows that were returned by accessing the num_rows property of that MySQLi_Result object.1292

After we are done processing all of the result set, then we can call, as part of the result processing step...1300

You could say, "We are going to call the free method to free up those resources."1309

And then, the fourth step for this SELECT statement is: just as we did with an INSERT statement,1313

we close our connection to the database, using the close method on our db object.1317

For today's homework challenge, I would like you to create a script called peopleAssoc.php.1329

And it is going to run a SELECT query on that People table that you should have created in the last homework challenge.1336

So, if you haven't done that, go ahead and create that People table and populate it with some data.1346

What the SELECT query should do is: it just returns all of the rows from the People table.1352

And the People table has a personID column, a name column, and an age column.1361

And so, that is the information that is going to be returned in your result set.1369

So, use the num_rows property...1373

Go ahead and run that SELECT query; you are going to open a connection to the database; you are going to run the query.1375

Then, I want you to output the number of rows that were returned, assuming there is at least one row in the database,1380

so you will at least have one row to output.1385

If there are rows that have been returned from the SELECT query, then go ahead and process the result set1388

by looping over it, using the fetch_assoc method.1394

And output the name and age of each person that is a part of that result set,1396

just in the same way that we had outputted the itemID and item name of each item in our Items table.1402

Then, I want you to do the same thing in a new script called peopleObject.php, which is going to use,1407

instead of fetch_assoc, the fetch_object method, which is going to give you practice1414

using the object-oriented approach to accessing result set data.1418

Make sure that, when you are done using the result set, you go ahead and free the memory1423

used by the result sets, by calling that free method on the result set object.1429

And one thing that I did mention, that is important, is that you don't want to call that free method1433

until you are completely done processing your result set data, because once you call free, it eliminates that data from the memory,1438

and you are not going to be able to access that anymore.1446

This is the last step that will be called after you are done accessing all of your result set data, and before you close the connection to the database.1448

That ends today's lesson; thank you for watching Educator.com--I look forward to seeing you next time.1458

Educator®

Please sign in for full access to this lesson.

Sign-InORCreate Account

Enter your Sign-on user name and password.

Forgot password?

Start Learning Now

Our free lessons will get you started (Adobe Flash® required).
Get immediate access to our entire library.

Sign up for Educator.com

Membership Overview

  • Unlimited access to our entire library of courses.
  • Search and jump to exactly what you want to learn.
  • *Ask questions and get answers from the community and our teachers!
  • Practice questions with step-by-step solutions.
  • Download lesson files for programming and software training practice.
  • Track your course viewing progress.
  • Download lecture slides for taking notes.

Use this form or mail us to .

For support articles click here.