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

Course Name: PHP 7.1 and MariaDB 10

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
858
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 7.1 additionally accessing a MariaDB 10 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 Regular Expressions, in MariaDB the course uses the mysqli functions introduced for use with PHP.

Exercise highlights

Creating HTML output using PHP
Creating Cookies
Loading data into MariaDB
Selecting and displaying records from a MariaDB database
Passing data between pages using $_POST

Course Contents

PHP 7.1
 
 

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

MariaDB 10
 
 

Section
Section Name
Page

One
Introduction to MariaDB
2

 
- What is SQL used for ?
3

 
- Why use MariaDB with PHP ?
4

 
- Definition of a Database
5

 
- Using MariaDB with PHP
6

Two
Simple MariaDB 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

 
- Manipulation with Functions
29

 
- Concatenating Columns
33

 
- Performing Calculations
34

 
- Using Variables
35

 
- Using mysqli_fetch_array()
37

 
- Using Aliases
38

 
- Ordering Data
41

 
- Ordering more than One Column
43

 
- Manipulating Dates using date_add()
44

 
- Displaying Dates using date_format()
46

 
- Exercise Two
48

Three
MariaDB 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
60

 
- Different types of MariaDB Where Clauses
62

 
- Using Table Aliases
73

 
- Combining Where Clauses
75

 
- Different types of MariaDB 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
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
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 a MariaDB 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
134

 
- Using Union to Merge Tables
135

 
- Using Union All to Merge Tables
136

 
- Using Intersect to Merge Tables
137

 
- Using Minus to Merge Tables
138

 
- Knowledge Check
139

 
- Knowledge Check - Union
140

 
- Union Syntax in MariaDB
141

 
- Knowledge Check - Union All
142

 
- Union All Syntax in MariaDB
143

 
- Knowledge Check - Intersect
144

 
- Intersect Syntax in MariaDB
145

 
- Knowledge Check - Minus
146

 
- Minus Syntax in MariaDB
147

 
- Using the Merge Syntax in MariaDB
148

 
- Exercise Six
149

Eight
Advanced MariaDB Query Techniques
154

 
- Using Limit
155

 
- Using If()
157

 
- Using Ifnull()
158

 
- Using Nullif
159

 
- Using Case Function
160

 
- Using Sub-queries
164

 
- Using Set to create variables
167

 
- Populating a Variable from a Query
168

 
- Exercise Seven
170

Nine
MariaDB 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
181

 
- Creating Tables
182

 
- Mandatory Columns
183

 
- Creation Syntax for Tables
184

 
- Column Creation
187

 
- AUTO_INCREMENT
189

 
- Last_insert_id
190

 
- Drop Table Syntax
191

 
- Temporary Tables
192

 
- Creating Indexes
194

 
- Primary Key Creation
197

 
- Unique Key Creation
200

 
- Foreign Key Creation
203

 
- On Delete / On Update
205

 
- Cascade
208

 
- Set Null
209

 
- NO ACTION
210

 
- RESTRICT
211

 
- SET DEFAULT
212

 
- Creating Views
213

 
- Renaming Views
216

 
- Dropping Views
217

 
- Exercise Eight
218

Eleven
Altering Elements
220

 
- Altering Tables
221

Twelve
Inserting and Altering Data
224

 
- Rules
225

 
- Syntax for Populating Tables
226

 
- Inserting using the Set syntax
232

 
- Multiple Inserts
233

 
- On Duplicate Key Update
234

 
- Using Replace for Inserting Records
235

 
- General Comments
238

 
- Updating Records Rules
239

 
- Updating Data
240

 
- Deleting Data
243

 
- Inserting Large Objects
245

 
- Views
247

Thirteen
Prepared Statements
251

 
- Introduction
252

 
- Preparing the Statement
253

 
- Removing Prepared Statements
254

 
- Using Parameters
255

 
- Using mysqli_prepare()
257

 
- Using mysqli_stmt_bind_param()
258

Fourteen
Committing Records
259

 
- DDL and DML
260

 
- mysqli_commit() and mysqli_rollback()
262

 
- What happens if disconnected ?
264

 
- Exercise Nine
265

Fifteen
Importing and Exporting in MariaDB
271

 
- Outfile
272

 
- Problems with Outfile
276

 
- Using Dumpfile
278

 
- Selecting into Variables
279

 
- Importing Data using Infile
280

 
- Ignoring Lines using Infile
282

 
- Using the Set command with Infile
283

 
- Using the Lines option with Infile
286

 
- Loading comma separated files
287

 
- Loading XML file
289

 
- Loading XML file using Ignore
291

 
- Loading XML file naming Columns
292

 
- Loading XML file using Set
293

Sixteen
Using XML with PHP
294

 
- Introduction
295

 
- Reading XML files with PHP with DOM
296

 
- Reading XML with getElementsByTagName()
304

 
- Looping with getElementsByTagName()
306

 
- Writing XML files with PHP
315

 
- Writing XML files with PHP Arrays
320

 
- Writing XML files with PHP from MariaDB
326

 
- Exercise Thirteen
331