0
我將我所有的問題從MySQL到PDO,並在這個過程中,我發現像一個條件查詢如下與PDO條件查詢準備和綁定聲明
if (isset($parameters['searchTerm'])) {
$where =" And title LIKE '%{$parameters['searchTerm'] }%'";
}
$sql = "Select * from table data Where tableId = 5 {$where} ";
,當我想這個查詢轉換在PDO預期的語法如下現在
if (isset($parameters['searchTerm'])) {
$where =" And title LIKE :searchTerm";
}
$sql = $dbh->prepare("Select * from table data Where tableId = 5 {$where}");
if (isset($parameters['searchTerm'])) {
$sql ->bindParam(':searchTerm', '%{$parameters['searchTerm'] }%');
}
$sql ->execute();
,你可以看到,如果條件if (isset ($parameters ['searchTerm'])) {...}
重複兩次。
原因是
- 我不能編寫SQL查詢,其中被設定後,第一個if語句
- 我不能等到我準備SQL綁定參數從而$ SQL變量初始化$之前所以它必須被放置在$ sql正在準備之後
所以有一個if語句之前$sql = $dbh->prepare("Select * from table data Where tableId = 5 {$where}");
和一個if語句之後。
而我的問題是:有沒有辦法刪除這個多餘的if語句,或者我只能這樣做。
關於PHP語法編輯查詢時,我一定已經搞砸了,所以不用擔心。 – Arpita