sql >> データベース >  >> RDS >> Mysql

PHPでmysqliプリペアドステートメントを抽象化するにはどうすればよいですか?

    Zend_Db_Adapter_Mysqliに取り組みました およびZend_Db_Statement_Mysqli PDOに準拠させたかったので、これを機能させるにはかなりのクラスが必要です。 およびPDOStatement インターフェース。 MySQLiが結果を得るために変数をバインドするように主張する混乱した方法と、PDOStatementでサポートされるさまざまなフェッチモードのために、かなり面倒でした。 。

    Zend_Dbのコードを見たい場合 、関数に特に注意してくださいZend_Db_Statement_Mysqli::_execute() およびfetch() 。基本的に、_execute() メソッドは、call_user_func_array()を使用して変数参照の配列をバインドします 。トリッキーな部分は、bind_result()になるように配列を初期化する必要があることです。 関数は参照を取得します。ええと、それは完全には明確ではなかったので、コードを見てください。

    または、PDOのMySQLドライバーを使用します。それは私があなたの靴ですることです。



    1. 1つのクエリ内でSETとSELECT?

    2. SQLサーバーでmoneyデータ型から変換するにはどうすればよいですか?

    3. MySQLregexp構文をエスケープするPHP関数

    4. PHPチェックMySQL最終行