Re: MySQLi extension basic examples

Kamil Tekiela <[email protected]>
Newsgroups gmane.comp.php.documentation.general
Message-ID <CAGBsUrc8VtOukwwHPMHhf0BLFUMoQO36vZT7M+4GnPQ3WphdRQ@mail.gmail.com>
Hi Everyone,

I am just attaching the poll created by CMB to this thread.
https://github.com/php/doc-en/pull/278#issuecomment-749852494

Regards,
Kamil

On Fri, 4 Dec 2020 at 18:54, Philip Olson <[email protected]> wrote:
>
> Hi Kamil,
>
> Thanks for all of the proposed work on the MySQL documentation as I now
> see you've created many related pull requests on github. I'll look closer next
> week and we can figure out how to discuss and implement these changes
> soon. If you desire help with the commit process (it appears you have a
> new account and karma to commit to svn) then let me know offlist.
>
> Regards,
> Philip
>
> > On Nov 30, 2020, at 10:46 AM, Kamil Tekiela <[email protected]> wrote:
> >
> > Thanks Christoph and Philip.
> >
> > The example was mentioned in this bug report
> > https://bugs.php.net/bug.php?id=77531 and a PR was raised some time
> > ago for it https://github.com/php/doc-en/pull/60
> > I have even suggested a better example in a reply, but I never got to
> > writing a proper PR IIRC. I was too busy with other things in my life.
> >
> > The problem with that example in regards to SQL injection is that it
> > doesn't show how to use prepared statements. We can't expect beginners
> > to know what SQL injection or prepared statements are if we don't show
> > how to do it properly. Casting to an integer is a quick and dirty
> > workaround but it's not the recommended practice. The example focuses
> > on mysqli::query() while people should be using prepared statements
> > most of the time. Even if no parameter binding is required using them
> > doesn't hurt.
> >
> > I could suggest a proper example, but the question is what should that
> > example demonstrate? As I said people are usually more interested in
> > seeing how a particular function works rather than an example that has
> > little real-life application. If we are going for a quick fix of this
> > example then we can just replace it with my example from
> > https://github.com/php/doc-en/pull/60#issuecomment-601976016
> > If we want this section in the manual to be a full mysqli tutorial
> > then it needs much more work, which I really don't think is necessary
> > given that we have the quick start guide.
> >
> > Regards,
> > Kamil
> >
> > On Mon, 30 Nov 2020 at 18:14, Christoph M. Becker <[email protected]> wrote:
> >>
> >> On 28.11.2020 at 18:08, Kamil Tekiela wrote:
> >>
> >>> I would like to hear your opinions about the following page in the PHP manual:
> >>> https://www.php.net/manual/en/mysqli.examples-basic.php
> >>>
> >>> Currently, this is the only "example" apart from the quick start
> >>> guide. There is a whole section
> >>> https://www.php.net/manual/en/mysqli.examples.php which suggests that
> >>> there were more or that there was meant to be more examples, however
> >>> there is only that one example now.
> >>>
> >>> People have complained about the quality of this example for a number
> >>> of years, including myself. The page does not show best practices,
> >>> encourages SQL injection, poor error handling, and lacks prepared
> >>> statement example. As a result, it does more harm than good.
> >>
> >> Why not take the opportunity, and *add* an example which does basically
> >> the same, but uses prepared statements, and other best practices?
> >>
> >> Regards,
> >> Christoph
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.