sql >> Database >  >> RDS >> Mysql

Hoe kan ik mysqli voorbereide statements in PHP abstraheren?

Ik werkte aan de Zend_Db_Adapter_Mysqli en Zend_Db_Statement_Mysqli nogal wat lessen om dit te laten werken, omdat we het wilden laten voldoen aan de PDO en PDOStatement koppel. Het was behoorlijk bewerkelijk, vanwege de verwarrende manier waarop MySQLi erop staat je variabelen te laten binden om resultaten te krijgen, en de verscheidenheid aan ophaalmodi die worden ondersteund door PDOStatement .

Als je de code wilt zien in Zend_Db , let vooral op de functiesZend_Db_Statement_Mysqli::_execute() en fetch() . Kortom, de _execute() methode bindt een array van variabele verwijzingen met behulp van call_user_func_array() . Het lastige is dat je de array moet initialiseren zodat de bind_result() functie krijgt de referenties. Uh, dat was niet helemaal duidelijk, dus ga de code eens bekijken.

Of gebruik gewoon de MySQL-driver van PDO. Dat zou ik in jouw schoenen ook doen.



  1. Array in Mysql WAAR?

  2. MuleSoft omarmt GraphQL om API-integratie te bevorderen

  3. Heroku verbinden met RDS met MySql2

  4. Fout bij het instellen van n_distinct met behulp van een plpgsql-variabele