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

ZF2 dezinfikuje proměnné pro dotazy DB

Parametry můžete předat při spuštění..

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

 $resultSet = new ResultSet;
 $resultSet->initialize($result);

Můžete je také předat přímo metodě dotazu

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

 $resultSet = new ResultSet;
 $resultSet->initialize($result);

Oba vytvoří dotaz „Vybrat * z testu WHERE id ='99'“

Pokud chcete použít pojmenované parametry:

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

$resultSet = new ResultSet;
$resultSet->initialize($result);

Pokud chcete uvést názvy tabulek/polí atd.:

$tablename = $adapter->platform->quoteIdentifier('tablename');

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



  1. SQL Reference pro začátečníky

  2. Hromadný sběr PL/SQL s doložkou LIMIT v databázi Oracle

  3. The Adaptive Join Threshold

  4. kde je moje databáze uložena, když ji vytvořím v MySQL?