我正在学习Zend框架。现在,我需要附加一条准备好的语句,以防止在Zend Framework中进行SQL注入。因此,我在这里共享了一些我正在使用的功能,因此,如果您能告诉我如何在这些Zend数据库查询功能中附加准备好的语句,将会很有帮助。
public function getRowByID($id) {
$row = $this->fetchRow("id = '$id'");
if (!$row) {
return false;
}
return $row;
}
public function getbyProjectID($projectid) {
$query = "SELECT * FROM auth where projectid = '$projectid'";
$result = $this->getAdapter()->query($query);
return $result->fetchAll();
}
public function updateRowByUserProject($username, $projectid) {
$query = "UPDATE auth SET iscurrent=0 WHERE username = '$username'";
$result = $this->getAdapter()->query($query);
$query1 = "UPDATE auth SET iscurrent=1 WHERE username = '$username' AND projectid = '$projectid'";
$result1 = $this->getAdapter()->query($query1);
$affectedRow = $result1->rowCount();
if($affectedRow == 1){
return true;
}else{
return false;
}
}
为了进行获取,您可以使用Zend_Db_Select Class方法来准备查询并执行查询,在逗号后(可能有多个问号,从左向右传递变量)在问号位置(将从特殊字符转义的占位符)传递变量: