This is about “https://www.daniweb.com/web-development/php/tutorials/499320/common-issues-with-mysql-and-php” i created a new thread because that is a great tutorial and I believe that comments underneath it would troubled the reader.
Hello Diafol , I believe that this tutorial should be linked in the “read first” section , but to be honest I don't believe that many people take the time (3 minutes or so) to read it before posting a question (that is why we have question like what is ? In URL that could googled it and have the answer in less than a minute) .
I have some questions regarding this tutorial , not to undermine your effort but to understand your point of view.
You wrote in 7 that “I find storing filenames much easier in general than using BLOB fields, but this has its dangers.”. Are you referring to a repository system where the file doesn't lies under the public_html ? What are those dangers ? . Also has anyone tested the option of saving images in the DB as BLOB and the performance of that ? I have long time ago and the results were not to do so , has this changed ? As more people tend to use DB as file storage and they don't quite get what a repository is about I would suggest to anyone following such an option to make a lot of tests before decide to go that way.
My second question has to do with the “Adjacency List ” that you refer in 8 , the problem there is that the parent uri exists in the child uri. What happens when you change the parent uri ? As you mention that is based in the self referenced or “snake” data model. If each entry has its own uri components without its parents would be possible for PHP to make sense out of these without big effort? . The answer is yes if you use the indexed list model and app scope caching but this is something that is not the scope of this question. So in 8 the main question is if the admin changes the uri / URL of a parent category what happens to tree down ?
In 11 take a look at CRYPT_BLOWFISH also would be a good idea never to transmit a password unhashed. E.g. you can md5 client side a password before getting it and crypt it.
I am writing those just to get opinions. I am posting it in a new thread because it isn't in the body of the tutorial just an extension of it.