Examples of good practice, or not...

Buyer beware?

It's always an issue, when publishing tutorials, as to how much care you take about "good practice" peripheral to the main tutorial subject. What's appropriate when knocking up a quick demo to illustrate the capabilities of a new technology isn't appropriate when the new technology might end up in a business production environment - but you do need to concentrate on the main subject.

David Harper has highlighted this issue (and he might put it a bit more strongly than that) in an email; but the AJAX tutorial he's commenting on is just that, not a MySQL tutorial.

Nevertheless, his comment is well worth reading, I think:

I read part 1 of your AJAX tutorial with interest, and I'm looking forward to part 2, but as a MySQL database administrator, I winced when I saw your instructions on how to add a new user.

You should *never* insert records directly into the mysql.user table. In any case, the grant statement in your article achieves the same result as the "INSERT INTO user" statement immediately above it, and you don't need to follow a grant statement with "FLUSH PRIVILEGES".

Also, you should never routinely give users the grant privilege, since this is a gaping security hole, especially in a web application. In most situations, only the MySQL root user needs to have grant privileges.

Best regards, David Harper

Even so, although we do try hard to get things right, we also try to keep our articles reasonably short, so readers have time to read them. Which means that we can't always cover everything in detail.

I do rather hope that our professional readership isn't relying entirely on Register Developer for its professional "good practice". But, surely, professionals will already be working within a quality Development Process, supported by proper training courses?

I'll get me coat...

Sponsored: Today’s most dangerous security threats