As for w3schools, I have never run into any problems with w3
W3Schools fails when it comes to best practices, and it doesn't teach from useful conceptual models.
W3Schools doesn't teach HTML 4 and XHTML
semantically. Worse, they use presentational elements such as <b> and don't cover when it's OK to use <br/> (which is rarely, since <p>, <ol>, <ul>, <dl> and other elements will usually accomplish whatever effect the designer is going for while encapsulating more meaning). At one point, they may have taught table-based layouts well after CSS became widely supported in browsers, but I couldn't confirm it myself. They don't even cover structure vs. presentation, barely mentioning it in their "advanced" tutorial series. At least their last basic CSS tutorial mentions the problems of inline style, but it comes off as a minor point (if only they also mentioned this in there HTML tutorial when covering the style attribute). Their coverage of HTML5 may be better, but my suspicion is that's due more to presentational elements being removed from the standard.
Their JS tutorial uses
document.write for dynamic HTML, and claims that assigning to an undeclared variable is the same as assigning to a declared one (a
recipe for disaster).
Their PHP+MySQL tutorial is based on the twice-supplanted mysql driver. They often don't handle errors. Worst of all, they don't cover injection, SQL or otherwise. No mysqli nor PDO means no prepared statements.
These are only some of the problems I've come across when looking for material for others. There could easily be more problems awaiting discovery.
Search around, and you'll find the general opinion of intermediate and advanced web developers is that W3Schools reference sections are fine, but the tutorials are flawed, including: