Index of PHP 7.3 and Oracle 19c Programming training course
PHP 7.3
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
Oracle 19c
Section
Section Name
Page
One
Introduction to Oracle
2
- What is SQL used for ?
3
- Why use Oracle with PHP ?
4
- Definition of a Database
5
- Using Oracle with PHP
6
Two
Oracle Database Objects
7
- Introduction
8
- Tables
9
- Views
10
- Materialized Views
11
- Indexes
12
- Sequences
13
- Packages, Functions and Procedures
14
- Schemas
15
Three
Connecting to Oracle via PHP
16
- Introduction
17
- Using oci_connect
18
Four
Querying from Oracle
19
- Introduction
20
- oci_parse and oci_execute
22
- oci_fetch_row
25
- oci_num_rows and oci_num_fields
26
- Detecting Oracle errors
30
- oci_error
34
- Detecting a Parse error
36
- Detecting an Execution error
38
- Oracle Metadata
40
- User_tables
43
- What columns are in a table
45
- Using OCI_DESCRIBE_ONLY
46
- User_tab_columns
51
- Exercise One
57
Five
Simple Oracle Queries
61
- Introduction
62
- Selecting more than one column
64
- Counting Records in an Oracle Table
65
- Displaying Literals in a Select statement
67
- Using Associative Arrays with oci_fetch
71
- Column Aliases
74
- Column Manipulation with SQL Functions
77
- Concatenating Columns in SQL
83
- Performing Calculations in SQL
84
- Ordering Data in SQL
85
- Ordering more than one Column
87
- Ordering with nulls first / nulls last
88
- Manipulating Dates in SQL
89
- Displaying Dates in SQL
90
- Using user_tab_columns with functions
91
- Exercise Two
93
Six
Limiting Data Selected with a Where Clause
101
- Limiting Data in SQL
102
- Structure of an SQL Where Clause
103
- Different types of SQL Where Clauses
104
- Handling Nulls in Where Clauses
112
- Case Restrictions in SQL Where Clauses
113
- Using Functions in Where Clauses
114
- Using PHP Variables in Where clauses
117
- Using PHP oci_bind_by_name in Where clauses
118
- Rownum in SQL Tables
120
- Using Rowid in SQL Tables
122
- Fetch first rows of a Table in Oracle 19c (Top-N)
124
- Using Percent with Fetch in Oracle 19c
125
- Using Offset with Fetch in Oracle 19c
126
- Using With Ties with Fetch in Oracle 19c
127
- Exercise Three
128
Seven
Oracle Datatypes
134
- Introduction
135
- Varchar2
136
- ORA-00910: specified length too long for its datatype
138
- Varchar2 and Char
139
- Number
140
- Date
141
- Float
142
- Long
143
- Large Objects
144
- Bfile
148
Eight
Aggregating Values
149
- Introduction
150
- Using Group By
151
- Using Having with Group By
154
- Using With Rollup to Total Grouping
156
Nine
Tree Walking Tables in SQL
157
- Introduction
158
- Syntax for Tree Walking in SQL
160
- Example of Tree Walking in SQL
162
- Advanced Ordering of Siblings in Tree Walks
163
- Sys_Connect_By_Path
165
- Exercise Four
167
Ten
Joining Tables in an SQL Statement
171
- Using Table Aliases in SQL
172
- Linking Tables in an SQL Statement
174
- Problems with Joining Tables in SQL
179
- Methods of Joining Tables in SQL
181
- Using Ansi SQL/86 to join Tables
182
- Ansi SQL/86 and Outer Joins
183
- Ansi SQL/99 Standards (Natural Joins)
186
- Ansi SQL/99 Standards (Cross Joins)
187
- Ansi SQL/99 Standards (Joins/Using)
188
- Ansi SQL/99 Standards (On)
189
- Ansi SQL/99 Standards (Multiple On)
190
- Ansi SQL/99 Standards (Left Outer Joins)
191
- Ansi SQL/99 Standards (Right Outer Joins)
192
- Ansi SQL/99 Standards (Full Outer Joins)
193
- Merging Tables in SQL
194
- Using Union to Merge Tables
195
- Using Union All to Merge Tables
196
- Using Intersect to Merge Tables
197
- Using Minus to Merge Tables
198
- Knowledge Check
199
- Using the Merge Syntax
204
- Exercise Five
206
Eleven
Advanced Queries
210
- Introduction
211
- Pivot
212
- Changing the Pivot Headings of X Axis
218
- Unpivot
224
- Unpivot and Null values
228
- First/Last_Value functions
229
- Lead and Lag Functions
234
- Window Specification
237
- Breakdown of Window Specification
238
- Window Specification – The Arguments
240
- Window Specification – The Order By
243
- Window Specification – The Windowing
245
- Window Specification – Rows between
246
- Window Specification – current row
247
- Window Specification – unbounded preceding
250
- Window Specification – bounded preceding
251
- Window Specification – between
253
- Window Specification – current row
247
- Difference between Range and Rows
255
- Ranking functions
256
- Using Ntile Function in SQL
265
- Using Listagg function
267
- Using Case in Select statements
271
- Using Searched Case Function
276
- Using Searched Case Function with Sub-queries
278
- Using Sample in SQL
279
- Using Width_Bucket
281
- Exercise Six
284
Twelve
Creating Database Objects
288
- Creating Tables
289
- Mandatory Columns in SQL Tables
291
- Creation Syntax for Tables
292
- Virtual Columns
294
- Creating Virtual Columns with new Table
295
- Specifying Virtual Column Datatype and Size
296
- Adding Virtual Columns to Existing Table
297
- Using Virtual Columns
298
- Using Virtual Columns with Functions
300
- Limitations of Virtual Columns (ORA-54012)
301
- Limitations of Virtual Columns (ORA-54013)
303
- Viewing Virtual Columns in user_tab_columns
304
- Invisible Columns in Oracle 19c
305
- Commenting on Tables in SQL
308
- Commenting on Columns in SQL
309
- Creating Indexes in SQL
310
- Index Creation
313
- Disabling Indexes
315
- Creating Views
316
- Creating Sequences
318
- Using Sequences
319
- Altering Sequences
321
- Using Default Value in SQL Tables
322
- Using Default Value in Oracle 19c
323
- Using Identity in Oracle 19c
324
- Renaming Objects in an Oracle Database
325
- Dropping Objects from an Oracle Database
328
- Granting Access to other Schemas
329
- Accessing other Schemas
332
- Creating Synonyms
333
- Exercise Seven
334
Thirteen
Altering and Populating Oracle Tables
340
- Some Rules when altering Tables
341
- Syntax for Altering Tables
342
- Rules when populating Tables in SQL
343
- Syntax for populating Tables
344
- Using Variables to Populate Tables
349
- General Comments
350
- Updating Data
351
- Deleting Data
353
- Handling Large Objects in SQL Plus
354
- Handling Bfiles in SQL Plus
356
Fourteen
Committing Records
357
- The difference between DDL and DML
358
- Committing and Rollback in PHP
361
- Loading XML file naming Columns
292
- Loading XML file using Set
293
Fifteen
Materialized Views
362
- Introduction
363
- Syntax for Creating Materialized Views
365
- Refreshing Materialized Views
367
- Building Materialized Views
373
- Miscellaneous
375
Sixteen
Miscellaneous
376
- Introduction
377
- Changing Passwords with oci_password_change
378
- Oracle Database Version (oci_server_version)
379
- Setting timeout with oci_set_call_timeout
380
- Exercise Eight
381