Download our latest
Android and iPhone apps ...
At a glance ...
Pages
841
Exercises
23
Sections
38
Public
On-Site
Level
1
Days
5

Course Name: PHP and MySQL

Duration:
Minimum skill level required:
On-Site course:
Public course:
Sections:
No of exercises:
No of pages in the manual:
Pre-Requisite course(s):
Suggested further course(s):
Price guide:
5 days
1 (1 - Beginner, 2 - Experienced 3 - Advanced)
Yes
No
38
23
841
None
None
Contact us for the latest pricing

Synopsis for course

This is the course to take if you need to build flexible websites using dynamic PHP additionally accessing a MySql database.

The course does not only help to design interesting and great looking sites, it is concerned with the processing in the background that will help produce the output whatever your design.

Starting with basic PHP, the course develops right up to Oops design recently introduced in PHP, in MySQL the course uses the mysqli functions again recently introduced for use with PHP and replacing the older mysql functions

Exercise highlights

Creating HTML output using PHP
Creating Cookies
Loading XML into PHP
Selecting records from a MySql database
Passing data between pages using $_POST

Course Contents

PHP 5.5
 
 

Section
Section Name
Page

One
PHP Introduction
1

 
- PHP: Hypertext Preprocessor
2

 
- Some of its main uses
4

Two
PHP Structure
5

 
- Basic Structure of PHP
6

 
- PHP Version etc
15

 
- Use of Echo
17

 
- Concatenating Echo
19

 
- Use of Echo with Escape Characters
21

 
- Use of Echo with Calculations
27

 
- Echo versus Print
30

 
- Use of Echo with HTML
32

 
- Commenting code in PHP
34

Three
Defining PHP Variables
37

 
- Introduction
38

 
- Defining PHP Variables
39

 
- Naming PHP Variables
40

 
- Declaring PHP Variables
43

 
- Flexibility of Datatypes
45

 
- Casting Datatypes
46

 
- Using gettype() with PHP Variables
50

 
- Using var_dump() with PHP Variables
52

 
- Using settype() with PHP Variables
53

 
- Using unset() with PHP Variables
55

 
- Using Heredoc
56

 
- Using Newdoc
58

 
- Using Define for Constants in PHP
59

Four
Manipulating Variables in PHP
61

 
- Introduction
62

 
- Mathematics
63

 
- Incrementing Values
67

 
- Prefix and Postfix
69

 
- Concatenation
72

 
- Exercise One
76

Five
Using PHP built in String Functions
81

 
- Introduction
82

 
- Miscellaneous String Functions
84

 
- Changing Case of Strings
89

 
- Substringing Strings
90

 
- Searching Strings
92

 
- Trimming Strings
98

 
- Nesting Functions
99

Six
Using PHP built in Number Functions
100

 
- Introduction
101

 
- Number Rounding
102

 
- Exercise Two
106

Seven
Introduction to PHP Arrays
109

 
- Introduction
110

 
- Numeric Arrays
112

 
- Populating Numeric Arrays
113

 
- Populating Numeric Arrays with range()
116

 
- Populating Numeric Arrays with array_pad()
119

 
- Populating Associative Arrays
121

 
- Using count() or sizeof()
127

 
- Using var_dump()
128

 
- Using print_r()
130

 
- Manually traversing Arrays
131

 
- Converting Arrays
133

 
- Using implode() and explode()
134

 
- Using unset()
136

 
- Multi-Dimensional Arrays
137

 
- Using var_dump() on multi-dimension arrays
140

 
- Using count() on multi-dimension arrays
143

 
- Three dimensional arrays
144

 
- Accessing Three Dimensional Arrays
146

 
- Alternative declaration of Arrays
147

 
- Exercise Three
148

Eight
Using Array Functions
154

 
- Introduction
155

 
- Using array_sum() / array_product()
156

 
- Sorting Arrays
157

 
- assort() and arsort()
163

 
- ksort() and krsort()
164

 
- array_multisort()
165

 
- array_reverse()
169

 
- array_flip()
170

 
- array_fill() and array_fill_keys()
172

 
- array_combine()
176

 
- array_intersect()
177

 
- array_diff()
178

 
- array_merge()
179

 
- array_unique()
180

 
- Exercise Four
181

Nine
Conditional PHP Statements
185

 
- Conditional tests
186

 
- Comparison Operators
187

 
- If statement structure
189

 
- Grouping processes in an 'If' statement
191

 
- Alternative processing
193

 
- Multiple 'If' statements
194

 
- Testing different datatypes
198

 
- Testing Strings
200

 
- Testing Booleans
204

 
- Testing for nulls
206

 
- Alternative Colon syntax
207

 
- Multiple Condition tests (and)
209

 
- Multiple Condition tests (or)
210

 
- Multiple Condition tests (xor)
211

 
- Nested If Conditions
212

 
- Ternary Operator
213

 
- Using PHP built in Functions for testing
216

 
- Exercise Five
218

Ten
Using Switch in Condition Testing
221

 
- Introduction
222

 
- The Switch Syntax
223

 
- Using Break with Switch
225

 
- Using Default with Switch
227

 
- Using Switch with Colon Syntax
228

 
- Advanced Switch Testing
229

 
- Mixing If Conditions with Switch
232

 
- Exercise Six
234

Eleven
Looping through values in PHP
236

 
- Introduction
237

 
- Foreach processing of Arrays
238

 
- Foreach processing with Colon syntax
242

 
- Multidimensional Arrays with Foreach
243

 
- While Loops
245

 
- While Loops with Colon Syntax
247

 
- Using Break to exit Loops
248

 
- Do .. While Loops
249

 
- Do .. While and While Loops with Arrays
251

 
- For Loops
252

 
- For Loops with Colon Syntax
254

 
- For Loops with empty expressions
255

 
- For Loops with more than one variable
257

 
- For Loops with Arrays
258

 
- Advanced Breaking of Loops
260

 
- Using Continue with Loops
267

 
- Exercise Seven
270

Twelve
Using Dates within PHP
274

 
- Introduction
275

 
- Creating String of Dates
276

 
- Converting Strings to Dates using strtotime()
277

 
- Limitation of using strtotime()
284

 
- Using Format Masks with date()
285

 
- Comparing Dates
287

 
- Adding to Dates
288

 
- Using mktime()
289

 
- Using getdate()
290

 
- Other Date Functions
291

 
- Exercise Eight
292

Thirteen
Regular Expressions using PCRE
294

 
- Introduction
295

 
- Testing for 'Contains' within a String
297

 
- Starts or Ends using Line Anchors
298

 
- Starts and Ends using Line Anchors (or)
300

 
- Using the Dot (Any Character)
301

 
- Using {Intervals}
303

 
- Using Character Lists []
305

 
- Using Character Lists to exclude matches
308

 
- Using Escape Sequences
309

 
- Using the Question Mark (Optional)
311

 
- Using the Plus sign (Mandatory)
313

 
- Using the Star sign (Optional)
314

 
- Backreferencing
315

 
- POSIX
317

 
- Using preg_replace()
319

 
- Using preg_replace() with arrays
321

 
- Using preg_filter()
323

 
- Using preg_replace_callback()
324

 
- Using preg_match()
325

 
- Preg_match() with PREG_OFFSET_CAPTURE
326

 
- Using preg_match_all()
327

 
- Using preg_grep()
329

 
- Using preg_last_error()
331

 
- Using preg_quote()
332

 
- Using preg_split()
333

 
- Using preg_split() with arrays
335

 
- Exercise Nine
336

Fourteen
PHP Functions
339

 
- Introduction
340

 
- Rudimentary Functions
341

 
- Function Positioning
343

 
- Passing Parameters to Functions
344

 
- Passing Multiple Parameters to Functions
346

 
- Defaulting Parameters in Functions
347

 
- Returning Values
348

 
- Returning Values in an Array
350

 
- The scope of Variables
351

 
- Global Variables
353

 
- Passing Arguments by Reference
354

 
- Dynamic Function Calls
355

 
- Calling Functions from other Functions
358

 
- Calling PHP Functions in other files
359

 
- Structure of the PHP file
360

 
- Calling the PHP file
361

 
- Calling the PHP file using include()
362

 
- Passing Parameters to another PHP file
365

 
- Exercise Ten
366

Fifteen
PHP Cookies
369

 
- Introduction
370

 
- Creating Cookies in PHP with setcookie()
371

 
- Setting the expiry date for Cookies
373

 
- Setting the path for Cookies
375

 
- Setting the domain/security for Cookies
376

 
- Reading Cookies with $_COOKIE
377

 
- Using Arrays with Cookies
379

Sixteen
PHP Sessions
380

 
- Introduction
381

 
- Creating Sessions
382

 
- Testing Sessions
383

 
- Using Arrays with Sessions
384

 
- Deleting Sessions
385

Seventeen
PHP Form Processor
386

 
- Introduction
387

 
- Anatomy of a HTML form
389

 
- Reading input using $_POST/$_GET
392

 
- Reading input using $_POST
393

 
- Reading input using $_GET
394

 
- $_GET versus $_POST
395

 
- Using $_REQUEST
396

 
- Using $_SERVER
397

 
- Preventing Invalid HTML in Forms
401

 
- Emailing in PHP
402

 
- Emailing HTML in PHP
404

 
- Emailing with attachments in PHP
406

 
- Exercise Eleven
407

Eighteen
PHP Errors
410

 
- Introduction
411

 
- Typical Errors
412

 
- Suppressing Errors
414

 
- $php_errormsg
417

 
- Using die to end the processing
419

 
- Using exit to end the processing
420

 
- Using isset() $php_errormsg
421

 
- Alternative way to use $php_errormsg
422

 
- Using error_reporting()
423

 
- Using error_reporting() report levels
426

 
- Custom error handling
428

 
- Raising Errors using trigger_error()
432

 
- Using error_log
434

 
- Using a centralised error handler
437

Nineteen
Exceptions
439

 
- Introduction
440

 
- Exception Syntax
441

 
- The 'try'
442

 
- The 'throw'
443

 
- The 'catch'
444

 
- Standard Exceptions
445

 
- Developer Defined Exceptions
448

 
- Processing the Exceptions
449

 
- Exception Methods
450

 
- set_exception_handler()
452

 
- Re-throwing Exceptions
454

 
- Finally
455

 
- Exercise Twelve
457

Twenty
PHP File I/O
459

 
- Introduction
460

 
- Using fopen()
461

 
- Access Modes
462

 
- Using fgets()
464

 
- Using fgetc()
467

 
- Using file()
468

 
- Using file_get_contents()
469

 
- Using fopen() with URLs
471

 
- Using fputs() / fwrite()
472

 
- Using file_put_contents()
474

 
- Working with Comma Separated Files (CSV)
477

 
- Using fgetcsv()
479

 
- Using fputcsv()
481

 
- Working with Binary Files
483

 
- Checking the Size of Bytes written
486

 
- Operating System Functions
487

 
- Using exec()
489

Twenty One
Creating HTML with PHP
491

 
- Introduction
492

 
- Why use PHP
493

 
- HTML example
494

 
- PHP simulating the HTML example
496

 
- Using PHP to create dynamic HTML
500

 
- Using htmlspecialchars()
507

Twenty Two
PHP Object Orientated Programming
508

 
- Introduction
509

 
- Terminology
510

 
- Instances
511

 
- Extending Classes
513

 
- Using '$this'
515

 
- Private and Public Methods
517

 
- Creating new Classes
518

 
- Referencing via Variables
520

 
- Exercise Thirteen
521

MySql 5.5
 
 

Section
Section Name
Page

One
Introduction to MySql
2

 
- What is SQL used for ?
3

 
- Why use MySql with PHP ?
4

 
- Definition of a Database
5

 
- Using MySql with PHP
6

Two
Simple MySql Queries in PHP
8

 
- Introduction
9

 
- Show Tables
10

 
- Show Columns
14

 
- Describe
17

 
- Selecting Data from a Table
18

 
- Counting records in a Table
21

 
- Selecting Data from a Table
23

 
- Selecting Columns from a Table
24

 
- Selecting Literals from a Table
25

 
- Selecting Literals from Dual
26

 
- Exercise One
27

 
- Column Manipulation with MySql Functions
29

 
- Concatenating Columns in MySql
33

 
- Performing Calculations in MySql
34

 
- Using Variables in MySql
35

 
- Using mysqli_fetch_array()
37

 
- Using Aliases in MySql
38

 
- Ordering Data in MySql
41

 
- Ordering more than One Column
43

 
- Manipulating Dates using date_add()
44

 
- Displaying Dates using date_format()
46

 
- Exercise Two
48

Three
MySQL Errors
56

 
- Determining Errors in the SQL
57

 
- Using mysqli_errno() and mysqli_error()
58

Four
Limiting Data Selected with a Where Clause
59

 
- Limiting Data in MySql
60

 
- Different types of MySql Where Clauses
62

 
- Using Table Aliases
73

 
- Combining Where Clauses
75

 
- Different types of MySql Where Clauses
76

 
- Handling Nulls in Where Clauses
77

 
- Using Functions in Where Clauses
78

 
- Using PHP Variables in Where Clauses
80

 
- Exercise Three
81

Five
Aggregating Values in MySQL
85

 
- Introduction
86

 
- Using Group By
88

 
- Using Having with Group By
90

 
- Using With Rollup to Total Grouping
91

 
- Using Distinct()
92

 
- Exercise Four
93

Six
Regular Expressions in MySql
96

 
- Introduction
97

 
- Testing for 'Contains' within a String
98

 
- Starts or Ends using Line Anchors
99

 
- Starts and Ends using Line Anchors (or)
100

 
- Using the Dot (Any Character)
101

 
- Using {Intervals}
102

 
- Using Character Lists []
104

 
- Using Character Lists to exclude matches
107

 
- POSIX
108

 
- Using the Question Mark (Optional)
110

 
- Using the Plus sign (Mandatory)
112

 
- Using the Star sign (Optional)
113

 
- Exercise Five
114

Seven
Joining Tables in an SQL Statement
116

 
- Introduction
117

 
- Linking Tables in an SQL Statement
118

 
- Theta style of SQL
123

 
- ANSI style of SQL
124

 
- Problems with Data matching
125

 
- Problems with Joining Tables in SQL
126

 
- Ansi SQL Standards (Natural Joins)
127

 
- Ansi SQL Standards (Cross Joins)
128

 
- Ansi SQL Standards (Joins/Using)
129

 
- Ansi SQL Standards (On)
130

 
- Ansi SQL Standards (Multiple On)
131

 
- Ansi SQL Standards (Left Outer Joins)
132

 
- Ansi SQL Standards (Right Outer Joins)
133

 
- Merging Tables in MySql
134

 
- Using Union to Merge Tables in MySql
135

 
- Using Union All to Merge Tables in MySql
136

 
- Using Intersect to Merge Tables in MySql
137

 
- Using Minus to Merge Tables in MySql
138

 
- Knowledge Check
139

 
- Knowledge Check - Union
140

 
- Union Syntax in MySql
141

 
- Knowledge Check - Union All
142

 
- Union All Syntax in MySql
143

 
- Knowledge Check - Intersect
144

 
- Intersect Syntax in MySql
145

 
- Knowledge Check - Minus
146

 
- Minus Syntax in MySql
147

 
- Using the Merge Syntax in MySql
148

 
- Exercise Six
149

Eight
Advanced MySql Query Techniques
154

 
- Using Limit in MySql
155

 
- Using If() in MySql
157

 
- Using Ifnull() in MySql
158

 
- Using Nullif in MySql
159

 
- Using Case Function in SQL
160

 
- Using Sub-queries
164

 
- Using Set to create variables
167

 
- Populating a Variable from a Query
168

 
- Exercise Seven
170

Nine
MySQL Datatypes
173

 
- Introduction
174

 
- Numeric Datatypes (Integer)
175

 
- Numeric Datatypes (Decimal)
176

 
- String Text Datatypes
177

 
- String Blob Datatypes
178

 
- String List Datatypes
179

 
- Date Datatypes
180

Ten
Creating Database Objects in MySql
181

 
- Creating Tables in MySql
182

 
- Mandatory Columns in MySql Tables
183

 
- Creation Syntax for Tables in MySql
184

 
- Column Creation in MySql
187

 
- Drop Table Syntax
189

 
- Temporary Tables in MySql
190

 
- Creating Indexes in MySql
192

 
- Primary Key Creation in MySql
195

 
- Unique Key Creation in MySql
198

 
- Foreign Key Creation in MySql
201

 
- Creating Views in MySql
203

 
- Renaming Views in MySql
206

 
- Dropping Views in MySql
207

 
- Exercise Eight
208

Eleven
Altering in MySql
210

 
- Altering Tables
211

Twelve
Inserting and Altering Data in MySql
214

 
- Rules when Populating Tables in MySql
215

 
- Syntax for Populating Tables
216

 
- Inserting using the Set syntax
222

 
- Multiple Inserts
223

 
- On Duplicate Key Update
224

 
- Using Replace for Inserting Records
225

 
- General Comments
228

 
- Updating Data in MySql Tables
229

 
- Deleting Data from MySql Tables
232

 
- Inserting Large Objects in MySql
233

Thirteen
Prepared Statements
235

 
- Introduction
236

 
- Preparing the Statement
237

 
- Removing Prepared Statements
238

 
- Using Parameters
239

 
- Using mysqli_prepare()
241

 
- Using mysqli_stmt_bind_param()
242

Fourteen
Committing Records
243

 
- DDL and DML
244

 
- mysqli_commit() and mysqli_rollback()
246

 
- What happens if disconnected ?
248

 
- Exercise Nine
249

Fifteen
Importing and Exporting in MySql
254

 
- Outfile
255

 
- Problems with Outfile
259

 
- Using Dumpfile
261

 
- Selecting into Variables
262

 
- Importing Data using Infile
263

 
- Ignoring Lines using Infile
265

 
- Using the Set command with Infile
266

 
- Using the Lines option with Infile
269

 
- Loading comma separated files
270

 
- Loading XML file into MySql
272

 
- Loading XML file into MySql using Ignore
274

 
- Loading XML file into MySql naming Columns
275

 
- Loading XML file into MySql using Set
276

Sixteen
Using XML with PHP
277

 
- Introduction
278

 
- Reading XML files with PHP with DOM
279

 
- Reading XML with getElementsByTagName()
287

 
- Looping with getElementsByTagName()
289

 
- Writing XML files with PHP
298

 
- Writing XML files with PHP Arrays
303

 
- Writing XML files with PHP from MySql
309

 
- Exercise Thirteen
314