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

ZF2はDBクエリの変数をサニタイズします

    実行時にパラメータを渡すことができます。

     $statement = $this->getAdapter()->query("Select * from test WHERE id = ?");
     $result = $statement->execute(array(99));
    
     $resultSet = new ResultSet;
     $resultSet->initialize($result);
    

    それらをクエリメソッドに直接渡すこともできます

     $statement = $this->getAdapter()->query(
        "Select * from test WHERE id = ?", 
        array(99)
     );
     $result = $statement->execute();
    
     $resultSet = new ResultSet;
     $resultSet->initialize($result);
    

    どちらもクエリ「Select*from test WHERE id ='99'」を生成します

    名前付きパラメーターを使用する場合:

    $statement = $this->getAdapter()->query("Select * from test WHERE id = :id");
    $result = $statement->execute(array(
        ':id' => 99
    ));
    
    $resultSet = new ResultSet;
    $resultSet->initialize($result);
    

    テーブル/フィールド名などを引用したい場合:

    $tablename = $adapter->platform->quoteIdentifier('tablename');
    
    $statement = $this->getAdapter()->query("Select * from {$tablename} WHERE id = :id");
    $result = $statement->execute(array(
        ':id' => 99
    ));
    



    1. Fedora12でMySQLリレーショナルデータベースを使用する

    2. R12のORA-2000111g(FND_HISTOGRAM_COLS)のスキーマ統計を収集します

    3. Python db-api:fetchone vs fetchmany vs fetchall

    4. MySQL用のSpringBatch3アップグレードスクリプトはありますか?