sql >> Databáze >  >> RDS >> Mysql

Jak mohu abstrahovat připravené příkazy mysqli v PHP?

Pracoval jsem na Zend_Db_Adapter_Mysqli a Zend_Db_Statement_Mysqli třídy docela dost, aby to fungovalo, protože jsme chtěli, aby to odpovídalo PDO a PDOStatement rozhraní. Bylo to docela pracné kvůli matoucímu způsobu, jakým MySQLi trvá na tom, že musíte vázat proměnné, abyste získali výsledky, a kvůli různým režimům načítání podporovaných PDOStatement .

Pokud chcete vidět kód v Zend_Db , věnujte zvláštní pozornost funkcímZend_Db_Statement_Mysqli::_execute() a fetch() . V podstatě _execute() metoda váže pole odkazů na proměnné pomocí call_user_func_array() . Záludná část je v tom, že musíte pole inicializovat, aby bind_result() funkce získá reference. Uh, to nebylo úplně jasné, tak se pojďte podívat na kód.

Nebo použijte ovladač MySQL PDO. To bych dělal na tvé kůži.



  1. Jak udělit vzdálený přístup k MySQL pro celou podsíť?

  2. Jak spustit generované SQL z proměnné?

  3. Použití MEDIAN vedle funkcí MAX, MIN a AVG v MySQL

  4. mysql dotaz na datum mezi dvěma datovými poli