Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso astrarre le istruzioni preparate da mysqli in PHP?

Ho lavorato su Zend_Db_Adapter_Mysqli e Zend_Db_Statement_Mysqli classi abbastanza per farlo funzionare, poiché volevamo renderlo conforme al PDO e PDOStatement interfaccia. È stato piuttosto laborioso, a causa del modo confuso in cui MySQLi insiste nel farti associare le variabili per ottenere risultati e la varietà di modalità di recupero supportate da PDOStatement .

Se vuoi vedere il codice in Zend_Db , presta particolare attenzione alle funzioniZend_Db_Statement_Mysqli::_execute() e fetch() . Fondamentalmente, il _execute() associa un array di riferimenti a variabili usando call_user_func_array() . La parte difficile è che devi inizializzare l'array in modo che bind_result() la funzione ottiene i riferimenti. Non era del tutto chiaro, quindi dai un'occhiata al codice.

Oppure usa semplicemente il driver MySQL di PDO. È quello che farei nei tuoi panni.