Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso abstrair instruções preparadas pelo mysqli em PHP?


Trabalhei no Zend_Db_Adapter_Mysqli e Zend_Db_Statement_Mysqli classes bastante para fazer isso funcionar, já que queríamos torná-lo compatível com o PDO e PDOStatement interface. Foi bastante trabalhoso, por causa da maneira confusa como o MySQLi insiste em fazer você vincular variáveis ​​para obter resultados, e a variedade de modos de busca suportados pelo PDOStatement .

Se você quiser ver o código em Zend_Db , preste atenção especial às funçõesZend_Db_Statement_Mysqli::_execute() e fetch() . Basicamente, o _execute() O método liga um array de referências de variáveis ​​usando call_user_func_array() . A parte complicada é que você precisa inicializar o array para que o bind_result() função obtém as referências. Uh, isso não ficou totalmente claro, então dê uma olhada no código.

Ou então apenas use o driver MySQL do PDO. Isso é o que eu faria no seu lugar.