同社はデータベースを操作するために halcon が提供するクラス ライブラリを使用せず、PhalconDbAdapterPdoMysql を使用して再カプセル化しましたが、その中の多くのメソッドに問題があることがわかりました。
例えば$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron') );
このコードはスムーズに実行されず、常に間違った値のエラーを報告します
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots WHERE type=?" , array("mechanical"));
返されるのは配列ではありませんが、説明メソッドを使用して配列の結果セットを再度取得できるという説明はありません
返信内容:
例えば
$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron') );このコードはスムーズに実行されず、常に間違った値のエラーを報告します
そしてこれ
$resultset = $connection->query("SELECT * FROM robots WHERE type=?" , array("mechanical"));
返されるのは配列ではありませんが、説明メソッドを使用して配列の結果セットを再度取得できるという説明はありません
とにかく、待ってください。 。 。 上記の例はすべて公式ドキュメントからのものです
まず、「executePrepared」メソッドのプレースホルダーは数値である必要があります。文書の赤枠の英語版のように:
つまり、SQL 内のパラメーター バインディング プレースホルダーは、次のように「?」に置き換える必要があります。 リーリー
次に、クエリ メソッド自体がオブジェクト インスタンスを返します。これについてはドキュメントで説明されており、配列を返す方法についても説明されています。ここで別のサンプルコードを示します:
リーリー フレンドリーなリマインダー: もっとドキュメントを読んでください:)
参考ドキュメント: リンクの説明
リンクの説明