Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

PHP with MySQL Beyond the Basics

with Kevin Skoglund

Video: Welcome

Shows how OOP techniques can streamline database queries, help manage sessions, and simplify user logins.
Expand all | Collapse all
  1. 4m 4s
    1. Welcome
      1m 28s
    2. Using the exercise files
      2m 36s
  2. 4m 36s
    1. PHP and MySQL installation
    2. Project setup
      3m 48s
  3. 54m 26s
    1. Using variable variables
      5m 20s
    2. Applying more array functions
      5m 32s
    3. Building dates and times: Epoch/Unix
      8m 47s
    4. Formatting dates and times: Strings and SQL
      10m 6s
    5. Setting server and request variables
      5m 37s
    6. Establishing global and static variable scope
      5m 43s
    7. Making a reference assignment
      3m 0s
    8. Using references as function arguments
      4m 8s
    9. Using references as function return values
      6m 13s
  4. 32m 17s
    1. Introducing the concept and basics of OOP
      6m 26s
    2. Defining classes
      4m 7s
    3. Defining class methods
      3m 30s
    4. Instantiating a class
      6m 0s
    5. Referencing an instance
      4m 40s
    6. Defining class properties
      7m 34s
  5. 50m 10s
    1. Understanding class inheritance
      6m 24s
    2. Setting access modifiers
      8m 3s
    3. Using setters and getters
      4m 2s
    4. Working with the static modifier
      7m 59s
    5. Reviewing the scope resolution operator
      2m 50s
    6. Referencing the Parent class
      6m 49s
    7. Using constructors and destructors
      6m 10s
    8. Cloning objects
      3m 2s
    9. Comparing objects
      4m 51s
  6. 14m 48s
    1. Overview of the project
      3m 9s
    2. Creating project and asset directories
      6m 8s
    3. Creating a MySQL database
      5m 31s
  7. 1h 24m
    1. Creating the MySQL Database class
      5m 46s
    2. Adding queries to the MySQL Database class
      3m 48s
    3. Using the database object
      9m 7s
    4. Creating a User class
      6m 25s
    5. Instantiating user objects
      8m 46s
    6. Revising find methods to instantiate
      4m 3s
    7. Autoload: The undeclared object safety net
      4m 8s
    8. Creating the Session class
      7m 11s
    9. Logging in using the Session class
      8m 56s
    10. Initializing files and path constants
      6m 3s
    11. Using path content for layout
      4m 51s
    12. Late static binding
      13m 5s
    13. Demo of late static binding
      2m 34s
  8. 1h 29m
    1. File system basics
      5m 28s
    2. Understanding file permissions
      8m 48s
    3. Setting file permissions
      5m 7s
    4. PHP permissions
      10m 53s
    5. Accessing files
      9m 45s
    6. Writing to files
      5m 19s
    7. Deleting files
      1m 51s
    8. Moving the file pointer
      3m 58s
    9. Reading files
      6m 17s
    10. Examining file details
      6m 27s
    11. Working with directories
      6m 44s
    12. Viewing directory content
      5m 28s
    13. Creating a log file: Assignment
      5m 44s
    14. Creating a log file: Solution
      7m 56s
  9. 23m 52s
    1. Configuring PHP for file uploads
      5m 42s
    2. Sending files as form data
      4m 22s
    3. Inspecting uploaded files
      3m 55s
    4. Uploading errors
      3m 59s
    5. Moving uploaded files
      5m 54s
  10. 30m 2s
    1. Remaining user CRUD
      2m 4s
    2. Creating users
      5m 19s
    3. Updating users
      5m 58s
    4. Deleting users
      3m 40s
    5. Abstracting the database table name
      3m 30s
    6. Abstracting the attributes
      5m 56s
    7. Finding the database attributes
      3m 35s
  11. 48m 55s
    1. Starting the Photograph class
      6m 16s
    2. Coding the Photograph class
      5m 53s
    3. Saving photographs
      5m 22s
    4. Uploading photographs
      6m 46s
    5. Listing photographs
      5m 55s
    6. Storing messages in the Session class
      6m 15s
    7. Deleting photographs
      7m 54s
    8. Displaying photographs in the public area
      4m 34s
  12. 27m 24s
    1. Creating the Comment class
      7m 7s
    2. Building the comment form
      6m 43s
    3. Listing comments
      6m 6s
    4. Reviewing comments in the staff area
      7m 28s
  13. 25m 0s
    1. Understanding the concepts behind pagination
      2m 51s
    2. Using LIMIT, OFFSET, and COUNT
      2m 56s
    3. Finding the pagination variables
      5m 51s
    4. Using the Pagination class
      5m 2s
    5. Paginating photographs
      2m 53s
    6. Using pagination links
      5m 27s
  14. 43m 2s
    1. Configuring PHP for email
      7m 30s
    2. Sending email with mail()
      7m 9s
    3. Using headers
      6m 51s
    4. Reviewing SMTP
      4m 9s
    5. Using PHPMailer
      8m 42s
    6. Building notification for new comments
      8m 41s
  15. 17m 46s
    1. Using MVC architecture
      4m 12s
    2. Simple templating
      8m 10s
    3. Using the Smarty PHP templating engine
      2m 10s
    4. Building PHP libraries and frameworks
      3m 14s
  16. 1m 40s
    1. Goodbye
      1m 40s
  17. 1h 14m
    1. Installing on Mac 10.4 (Tiger)
      11m 59s
    2. Installing on Mac 10.5 (Leopard)
      11m 24s
    3. Configuring a Mac
      13m 39s
    4. The text editor on Mac
      3m 27s
    5. phpMyAdmin installation on Mac
      2m 26s
    6. Installing on Windows
      6m 30s
    7. Configuring on Windows
      8m 21s
    8. The text editor on Windows
      4m 11s
    9. MySQL basics: phpMyAdmin
      12m 16s

please wait ...
PHP with MySQL Beyond the Basics
Video duration: 0s 10h 26m Intermediate Updated Mar 18, 2015


In PHP with MySQL Beyond the Basics, expert instructor Kevin Skoglund introduces powerful PHP programming techniques using object-oriented programming (OOP). Both novice and experienced PHP developers will benefit from the efficient, well-organized, reusable, and easy-to-understand code that OOP offers. Kevin shows how OOP techniques can streamline database queries, help manage sessions, and simplify user logins. While building a real-world web application, Kevin also includes practical advice on topics ranging from structuring code to logging user actions. Exercise files accompany the course.

Topics include:
  • Defining and using classes, methods, and attributes
  • Understanding class inheritance and access modifiers
  • Working with files and directories
  • Uploading files to a server via forms
  • Sending emails with PHP
  • Using pagination and View templates
Business Developer Web


Welcome to PHP with MySQL Beyond the Basics. My name is Kevin Skoglund and I run a web development company called Nova Fabrica that develops websites and database driven applications. This tutorial is the sequel to PHP with MySQL Essential Training and I'm going to assume that you either watch that training or that you already feel comfortable with the fundamentals of PHP, MySQL and how to use them together to create pages that interact with databases. In this tutorial, we're going to build on those essential training skills, to learn how to use PHP and MySQL in object oriented programming.

Object oriented programming or OOP is a large and important subject that will get most of our attention. We'll also discover some intermediate PHP techniques like working with the server's file system, uploading files and sending emails. Now, it's not just theory either. In this tutorial, we'll build a complete PHP project using all of these techniques so that you can see the concepts in action and get some experience using them in real world situations. Now because you aren't a beginner anymore, there will be times when I ask you to do some basic coding on your own but it shouldn't be anything that you can't handle. That way, we'll be able to keep our focus on the techniques that are new.

So, I'll assume that you already know the basics like making sure that an integer is actually an integer or checking an array is not empty before you try to loop through it. At the end of the tutorial, we'll have the skeleton of a working web application but one that still needs improvements and testing using skills that you already have. Enough with the introductions though. Let's get started learning more about PHP and MySQL.

Find answers to the most frequently asked questions about PHP with MySQL Beyond the Basics .

Expand all | Collapse all
please wait ...
Q: When I try to launch phpMyAdmin in WAMP, I get the following error: 
#1045 - Access denied for user 'root'@'localhost' (using password: NO). 
How can I fix this problem?
A: The error is telling you that MySQL wants a password. (Not WAMP or  PHP.) You will need to configure phpMyAdmin to send MySQL the correct 
password ("using password: NO" indicates that you are not sending any right now). The phpMyAdmin setup is shown in the tutorial and the online 
documentation can help if you get stuck:

Q: This course was updated on 03/19/2015. What changed?
A: We updated several movies to use the newer MySQL database adapter (mysqli) and added a new movie on late static binding in chapter six, "Foundations of an OOP Project."





Don't show this message again
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.

Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.

Mark all as unwatched Cancel


You have completed PHP with MySQL Beyond the Basics.

Return to your organization's learning portal to continue training, or close this page.


Upgrade to View Courses Offline


With our new Desktop App, Annual Premium Members can download courses for Internet-free viewing.

Upgrade Now

After upgrading, download Desktop App Here.

Become a Member and Create Custom Playlists

Join today and get unlimited access to the entire library of online learning video courses—and create as many playlists as you like.

Get started

Already a member?

Log in

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

You started this assessment previously and didn’t complete it.

You can pick up where you left off, or start over.

Resume Start over

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from

Sign up and receive emails about and our online training library:

Here’s our privacy policy with more details about how we handle your information.

submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.