簡體   English   中英

如何將此mySql查詢轉換為PDO格式...?

[英]How to convert this mySql query to PDO format…?

我應該如何為這種類型的查詢編寫我的PDO Prepare和bindValue / param語句,其中我檢查該值是否不為null,然后僅將其添加到查詢字符串中。

$query = "SELECT * FROM cabs WHERE DATE='$date' ";
if ($mode!=='' || $mode!=="")
  $query .="AND MODE='$mode' ";

if ($tfno!=='')
  $query .="AND TFNO='$tfno' ";
  $query .="ORDER BY TIME";

快速答案,無需測試:

<?php
$params = array(':date' => $date);
$query = "SELECT * FROM cabs WHERE DATE=':date' ";
if ($mode!=='' || $mode!=="") {
  $query .="AND MODE=':mode' ";
  $params[':mode'] = $mode;
}

if ($tfno!=='') {
  $query .="AND TFNO=':tfno' ";
  $params[':tfno'] = $tfno;
}
$query .="ORDER BY TIME";

$req = $dbh->prepare($query);
$req->execute($params);

只需在每次查詢獲得更多過濾器時都推入param數組,並且使用名稱應該更容易,但我不確定array_push是否會保留順序,所以..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM