Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Biến ZF2 sanitize cho các truy vấn DB

Bạn có thể chuyển các tham số khi thực thi ..

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

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

Bạn cũng có thể chuyển chúng trực tiếp đến phương thức truy vấn

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

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

Cả hai sẽ tạo ra truy vấn "Chọn * từ thử nghiệm WHERE id ='99'"

Nếu bạn muốn sử dụng các tham số được đặt tên:

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

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

Nếu bạn muốn trích dẫn tên bảng / trường của mình, v.v.:

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

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm theo id có max (date_field)

  2. Cách truy xuất các bản ghi đối sánh trên nhiều bảng trong MySQL

  3. Làm cách nào để có được một tập lệnh tạo bảng trong MySQL Workbench?

  4. ColumnNotFound vấn đề với Magic trong trò chơi scala

  5. Khi mệnh đề WHERE của mysql trống, hãy trả về tất cả các hàng