PHP with MySQL Essential Training on CD-ROM

I already announced the online release of PHP with MySQL Essential Training. I’m really happy that it’s been getting tons positive user feedback. It seems to be helping a lot of people understand PHP as well as web development in general and that’s very gratifying.
Now you can also purchase the CD-ROM version. It’s $149.95 for 10.75 hours of training on 2 CDs. You can purchase it from lynda.com’s store or from Amazon.com.
The nice thing about the online version is that you can access it anytime, anywhere and you’ll also get access to all the other great lynda.com titles (including my Ruby on Rails Essential Training).
Why might the CD-ROM be right for you? A few reasons come to mind: No internet connection is required so you can watch offline or even when you travel. You’ll have speedier access to higher-quality video and sound. It includes the tutorial files so you can work along with me. You’ll have it on your shelf to refer to anytime, even if you don’t maintain your lynda.com subscription (but why wouldn’t you want do that?). You can share copies around your office or school. For large organizations, lynda.com can work out multiple-copy, site license deals too. And some people like having both the offline and online versions—one for the office, one for home or on the road.
If you’ve already watched either the PHP or Ruby on Rails training found it helpful, I hope you’ll consider taking a minute to write a review on Amazon.com with your opinion. Amazon.com shoppers don’t always know Lynda.com’s great reputation and your review will help them trust that the training can be helpful to them too.

June 17th, 2008 at 6:33 pm
Sorry guy. I tried to give you an excellent review at Amazon, but unless one purchases from them, they won’t allow it. Still, we all know how great these videos are. Keep up the good work. And for those who may be passing by your blog - excellently put together videos that will put you on the right track with PHP and MySql; highly recommended !
July 29th, 2008 at 5:19 pm
Actually, Jim… You’re completely wrong. You can leave a review for things that you’ve not purchased from Amazon. I just gave it a try — didn’t leave a review as I am few chapters from finishing the CD — and it was indicating no problem whatsoever. So, anyone else reading this that would like to leave a review — regardless of where you purchased the title from — please feel free to do so at Amazon.
On a completely different note, there should be an errata section for this title. I just finally got over a MAJOR stumbling block because it was not mentioned at the time of testing in the video — this is a major issue if you use Dreamweaver to code and you choose to Preview/Debug in the browser. I’ve got other issues with the title, but am finding it pretty good for the most part.
July 29th, 2008 at 5:22 pm
Thanks to both of you. I agree with you about the errata section. I had already made that suggestion to Lynda.com.
I also just finished recording some updates and bug fixes for this title. The new versions should be online in a week or two.
July 30th, 2008 at 11:35 am
Thanks, Kevin! If you would like I can detail the issue I ran into and the very simple fix. My concern is that others who aren’t doing refresher training or have no prior web development experience might give up… Here’s to hoping Lynda.com implements an errata section for their CDs!
July 30th, 2008 at 11:55 am
Joel, that would be great (and generous). Thanks!
July 30th, 2008 at 1:06 pm
Kevin, it deals with chapter 13. More directly, it has to do with this particular query:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id=" . $subject_id ." ";
$query .= "LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
// REMEMBER:
// if no rows are returned, fetch_array will return false
if ($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
In the first section, you’re running through how to test whether or not the MySQL query has worked. In the video, you simply switch back to FireFox and hit one of the links. That’s fine if one still has the window open; however, if one happens to be working DreamWeaver or whatever and they attempt — at that point — to preview in browser, they will be greeted with a big fat error; namely:
“SELECT * FROM subjects WHERE id= LIMIT 1Database query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘LIMIT 1′ at line 1″
Even if one tries to navigate to http://localhost/widget_corp/content.php via the address bar they will be greeted with the above error. What should be stated at this point is that a page has to be requested in order for the preview to work — AT THIS POINT. So, rather than simply navigating to http://localhost/widget_corp/content.php, one should navigate to http://localhost/widget_corp/content.php?subj=1 (or 2 0r 3)… While this is later explained in regards to the pages in the following section, it can be a real deal breaker at this point. I figured out the solution on my own, and then I ran into this thread on the MySQL forums to see if anyone else had the issue:
http://forums.mysql.com/read.php?52,194977,194977#msg-194977
Someone else came up with the same solution I did by the way. If you scroll down to Julie Webb’s entry you will see the same thing. (My prior experience in PHP and ColdFusion are the things that helped me figure this out by the way.) Hope this helps!
August 7th, 2008 at 10:02 am
Joel,
Well how about that. I just went back an looked around some more and found the review. The last time I went there it told me I had to purchase the cd. Anyway, I did leave a review.
Good luck with the training.
August 13th, 2008 at 3:23 pm
Really enjoying this title, I have not completed it yet but can already say that I have really learned valuable skills that I can apply to my web development projects.
Thanks for the great introduction!
August 27th, 2008 at 4:16 am
Hi again
Have finished this title and can only say ‘why have I not used PHP MySQL solutions before’. I just created 6 lines of PHP code that inputs 10’s, 100’s or even 1000’s of lines of HTML based on a single variable.
Thanks again Kevin
john
December 28th, 2008 at 3:20 am
I’m about to start chapter 11 on Lynda.com. Up intil now I’ve been interested in PHP a little but after studying this title I’m really excited about what I can do with PHP and MySQL. Big thanks, and if you have any other similar titles coming up in the future I look forward to them.
June 26th, 2009 at 5:38 pm
Hi Kevin
Chap 3, Configuring WAMP, will the SQL query you used to UPDATE the user root’s Password in the MySQL Console still work with the latest release of WAMP (PHP 5.2.9-2, MySQL 5.1.33) on a Vista OS?
June 27th, 2009 at 3:21 pm
As far as I know. You will need to either try it or check the WAMP support forums. I don’t test out every release.
June 29th, 2009 at 3:18 pm
Kevin, yes the WAMP forums provided a ‘great work around’ to solve the problem, but I still don’t have a clue why the simple UPDATE query did not work in the MySQL Console. I just moved into a Vista OS reluctantly and lost my old WAMP installer file, the new WAMP is giving me hell!
July 30th, 2009 at 10:38 pm
Hi Kevin, I can’t stop thanking you enough for your php lessons. My php journey wouldn’t have taken off if i had not met someone who’s so passionate in teaching as you. I’m in chapter 13, building the form to edit the subjects..i’m curious about something..i’ve been trying to break our application by inserting html markup like in the field to insert menu_name in our add subject form and i cant break it..i don’t remember us using any striptags() functions when we’re building our form functions..how is this possible..
Thank you again,
Regards,
Jaysone
July 31st, 2009 at 10:39 am
@Jaysone: Not all HTML would break it but I’m sure some would. Take a look at the source for the page and you can probably think of how. For example,
might not break anything where
might.
August 1st, 2009 at 12:26 am
Haha..i’ve been trying to insert whatever html markup i could find. I tried as well..selected the position and visibility to show..and when i hit add subject..still doesn’t break..anyway..i’ve built widget corp using XHTML and CSS from the start..i’m going to use strip_tags() to ensure that no one can insert html tags. Thanks again
March 1st, 2010 at 10:52 pm
The books I was using had me baffled before I even installed Apache. With your videos I’ve already started designing an elaborate site with php and mysql. I’ve never done any programming before, and I’m self-taught in html and css; nevertheless, I’ve been able to follow your instructions without any major problems. It takes several viewings to figure out exactly what is going on, and sometimes I get frustrated by my inability to comprehend exactly what happening with each statement in a loop. But I’ve been diligent, and after every few videos I delete all the code and write it from scratch, talking my way aloud through each little bit. “And I’m setting the query equal to a variable named ’subject_set’ which is an array, and then I’m sorting through the array and setting each entry equal to a variable named ’subject’…” You just did some refactoring on the “Find Pages” video and I’m lost again, but I’m confident that I’ll understand what you did soon enough.
So thanks. Your videos are awesome. If they can teach me, a former English major with no prior training, how to create an entire CRUD, then they’ll work for anyone.