Re: docs on mysqli_query return values are incorrect.

From: Date: Tue, 05 Jan 2021 00:33:38 +0000
Subject: Re: docs on mysqli_query return values are incorrect.
References: 1 2  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969387781@lists.php.net to get a copy of this message
Are you sure? The result sets returned by mysqli_query do, in fact, indicate the success or failure of the OPTIMIZE TABLE result. For a successful result: array(8) { [0]=> string(15) "ci4_test.db_job" ["Table"]=> string(15) "ci4_test.db_job" [1]=> string(8) "optimize" ["Op"]=> string(8) "optimize" [2]=> string(4) "note" ["Msg_type"]=> string(4) "note" [3]=> string(65) "Table does not support optimize, doing recreate + analyze instead" ["Msg_text"]=> string(65) "Table does not support optimize, doing recreate + analyze instead" } array(8) { [0]=> string(15) "ci4_test.db_job" ["Table"]=> string(15) "ci4_test.db_job" [1]=> string(8) "optimize" ["Op"]=> string(8) "optimize" [2]=> string(6) "status" ["Msg_type"]=> string(6) "status" [3]=> string(2) "OK" ["Msg_text"]=> string(2) "OK" } For a non-existent table (i.e, a failure): array(8) { [0]=> string(15) "ci4_test.db_joe" ["Table"]=> string(15) "ci4_test.db_joe" [1]=> string(8) "optimize" ["Op"]=> string(8) "optimize" [2]=> string(5) "Error" ["Msg_type"]=> string(5) "Error" [3]=> string(37) "Table 'ci4_test.db_joe' doesn't exist" ["Msg_text"]=> string(37) "Table 'ci4_test.db_joe' doesn't exist" } array(8) { [0]=> string(15) "ci4_test.db_joe" ["Table"]=> string(15) "ci4_test.db_joe" [1]=> string(8) "optimize" ["Op"]=> string(8) "optimize" [2]=> string(6) "status" ["Msg_type"]=> string(6) "status" [3]=> string(16) "Operation failed" ["Msg_text"]=> string(16) "Operation failed" } On Mon, Jan 4, 2021 at 4:28 PM Kamil Tekiela <tekiela246@gmail.com> wrote: > The documentation is correct (at least that part) but what you have > encountered is a bug, either in mysqli or in MySQL. Please file a bug > report on https://bugs.php.net/ and we will look into it. > > On Tue, 5 Jan 2021 at 00:12, j adams <zardozrocks@gmail.com> wrote: > >> Hello! Apologies if I'm emailing the wrong list. >> >> There is a problem with the return value description for mysqli_query, >> displayed here: >> https://www.php.net/manual/en/mysqli.query.php >> >> Under 'Return Values,' it says: >> >> >Returns *false* on failure. For successful SELECT, SHOW, DESCRIBE or >> EXPLAIN queries *mysqli_query()* will return a mysqli_result >> >> <https://www.php.net/manual/en/class.mysqli-result.php> >> object. For >> other successful queries *mysqli_query()* will return *true* >> >> This is not correct. I can provide one counterexample, which is when you >> run an optimize query: >> >> OPTIMIZE TABLE my_table; >> >> This query will return a result set with two records whether the table >> exists or not. >> >> >> I believe I found the file that should be altered on github here: >> >> >> https://github.com/php/doc-en/blob/master/reference/mysqli/mysqli/query.xml#L111 >> >> I do not know what the return value description should be under all the >> various circumstances. >> >

« previous php.doc (#969387781) next »