Skip to content

Bug: Call to a member function getResult() on true on a correct query #9453

Closed
@pippuccio76

Description

@pippuccio76

PHP Version

8.1, 8.3

CodeIgniter4 Version

4.6.0

CodeIgniter4 Installation Method

Composer (using codeigniter4/appstarter)

Which operating systems have you tested for this bug?

Linux

Which server did you use?

apache

Database

8.0.41-0ubuntu0.24.04.1 via estensione PHP MySQLi

What happened?

Hi , when i try to launch query that does work on mysql client software (tested on adminer.php and Mysql Workbench) with 0 rows returned

Steps to Reproduce

            WITH tratta_di_riferimento as(
                SELECT 
                  mezzi_tratte.id_tratte_libere
                FROM 
                  tratte_libere as tratte 
                  JOIN tratte_libere_mezzi as mezzi_tratte ON tratte.id = mezzi_tratte.id_tratte_libere 
                  JOIN mezzi ON mezzi_tratte.id_mezzi = mezzi.id 
                WHERE 
                  TRUNCATE (
                    6363 * sqrt(
                      POW(
                        RADIANS("43.72283849999999") - RADIANS(tratte.latitudine_partenza), 
                        2
                      ) + POW(
                        RADIANS("10.4017581") - RADIANS(tratte.longitudine_partenza), 
                        2
                      )
                    ), 
                    3
                  ) < (tratte.raggio_ricerca_km + 80)
                  AND TRUNCATE (
                    6363 * sqrt(
                      POW(
                        RADIANS("41.8967068") - RADIANS(tratte.latitudine_arrivo), 
                        2
                      ) + POW(
                        RADIANS("12.4822025") - RADIANS(tratte.longitudine_arrivo), 
                        2
                      )
                    ), 
                    3
                  ) < (tratte.raggio_ricerca_km + 80)
                  AND mezzi.passeggeri >= "1" 
                  AND mezzi.bagagli >= "0" 
                  AND mezzi.deleted_at IS NULL 
                  AND mezzi_tratte.deleted_at IS NULL 
                  AND tratte.deleted_at IS NULL 
                ORDER BY 
                  mezzi_tratte.costo
                            LIMIT 1 
                            ),/*end tratta di riferimento [PRENDE L'ID DELLA TRATTA CON COSTO +BASSO]*/
              result_row as(
                SELECT 
                  mezzi_tratte.id, 
                  mezzi_tratte.id_tratte_libere, 
                  mezzi_tratte.id_mezzi, 
                  mezzi_tratte.costo as costo_tratta, 
                  mezzi.id as id_tabella_mezzi, 
                  mezzi.immagine, 
                  mezzi.nome, 
                  mezzi.descrizione as mezzi_descrizione, 
                  mezzi.passeggeri, 
                  mezzi.bagagli,                  
                  mezzi.costo_km_extra,
                  tratte.latitudine_partenza,
                  tratte.longitudine_partenza,
                  tratte.latitudine_arrivo,
                  tratte.longitudine_arrivo,
                  tratte.raggio_ricerca_km
                FROM 
                  tratte_libere as tratte 
                    JOIN tratta_di_riferimento on tratte.id = tratta_di_riferimento.id_tratte_libere
                  JOIN tratte_libere_mezzi as mezzi_tratte ON tratte.id = mezzi_tratte.id_tratte_libere 
                  JOIN mezzi ON mezzi_tratte.id_mezzi = mezzi.id 
                WHERE 
                  TRUNCATE (
                    6363 * sqrt(
                      POW(
                        RADIANS("43.72283849999999") - RADIANS(tratte.latitudine_partenza), 
                        2
                      ) + POW(
                        RADIANS("10.4017581") - RADIANS(tratte.longitudine_partenza), 
                        2
                      )
                    ), 
                    3
                  ) < (tratte.raggio_ricerca_km + 80)
                  AND TRUNCATE (
                    6363 * sqrt(
                      POW(
                        RADIANS("41.8967068") - RADIANS(tratte.latitudine_arrivo), 
                        2
                      ) + POW(
                        RADIANS("12.4822025") - RADIANS(tratte.longitudine_arrivo), 
                        2
                      )
                    ), 
                    3
                  ) < (tratte.raggio_ricerca_km + 80)
                  AND mezzi.passeggeri >= "1" 
                  AND mezzi.bagagli >= "0" 
                  AND mezzi.deleted_at IS NULL 
                  AND mezzi_tratte.deleted_at IS NULL 
                  AND tratte.deleted_at IS NULL 
                ORDER BY 
                  mezzi_tratte.costo),/*END RESULT ROW*/
                    result_row2 as(
                    select result_row.*, 
                    TRUNCATE (
                                        6363 * sqrt(
                                          POW(
                                            RADIANS("43.72283849999999") - RADIANS(latitudine_partenza), 
                                            2
                                          ) + POW(
                                            RADIANS("10.4017581") - RADIANS(longitudine_partenza), 
                                            2
                                          )
                                        ), 
                                        3
                                      ) +
                                   TRUNCATE (
                                        6363 * sqrt(
                                          POW(
                                            RADIANS("41.8967068") - RADIANS(latitudine_arrivo), 
                                            2
                                          ) + POW(
                                            RADIANS("12.4822025") - RADIANS(longitudine_arrivo), 
                                            2
                                          )
                                        ), 
                                        3
                                      )-raggio_ricerca_km as km_differenza_totale
                                      
                    from result_row)/*end result_row2*/
          
                SELECT  *,km_differenza_totale*costo_km_extra +costo_tratta as costo from result_row2;

Expected Output

0 rows returned

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions