将PHP Prepared语句添加到SELECT语句

时间:2018-05-05 10:18:08

标签: php mysql

我需要创建一个Prepared语句并将其合并到SELECT语句中,如下所示。我很高兴为第1行创建Prepared语句,但是我需要将结果包含在第2行的SELECT语句中,因为我不能使用WHERE选项,因为第4行(搜索的功能) 所以,我想我需要深入了解如何将SELECT和预处理语句组合到第2行。

//$sql = "SELECT * FROM customer_crm WHERE sales_agent = '".$username."'";
$sql = "SELECT * FROM customer_crm";
$query = isset($_GET['query'])?('%'.$_GET['query'].'%'):'%';
$sql .= "WHERE company_name LIKE :query OR email LIKE :query OR 
    date_followup LIKE :query "; //is needed for a search function
$start = (($paginator->getCurrentPage()-1)*$paginator->itemsPerPage);
$length = ($paginator->itemsPerPage);
$sql .= "ORDER BY date_followup DESC limit :start, :length ";

$sth = $pdo->prepare($sql);
$sth->bindParam(':start',$start,PDO::PARAM_INT);
$sth->bindParam(':length',$length,PDO::PARAM_INT);
$sth->bindParam(':query',$query,PDO::PARAM_STR);
$sth->execute();


foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row1) 

1 个答案:

答案 0 :(得分:1)

您不能拥有两个AND条款。第二个应该是$sql = "SELECT * FROM customer_crm WHERE sales_agent = :username"; $query = isset($_GET['query'])?('%'.$_GET['query'].'%'):'%'; $sql .= " AND (company_name LIKE :query OR email LIKE :query OR date_followup LIKE :query)"; //is needed for a search function $start = (($paginator->getCurrentPage()-1)*$paginator->itemsPerPage); $length = ($paginator->itemsPerPage); $sql .= " ORDER BY date_followup DESC limit :start, :length "; $sth = $pdo->prepare($sql); $sth->bindParam(':username', $username, PDO::PARAM_STR); $sth->bindParam(':start',$start,PDO::PARAM_INT); $sth->bindParam(':length',$length,PDO::PARAM_INT); $sth->bindParam(':query',$query,PDO::PARAM_STR); $sth->execute(); 将这些条件组合到查询中。

.uk-width-1-3 img{
  width: 100%;
}
.uk-grid {
  width: 100%;
  float: left;
}
.uk-width-1-3 {
  width: 25%;
  float: left;
  text-align: center;
}
相关问题