0
在我插入一行之前,我想檢查它的存在,以避免重複。重新使用(略有修改)查詢時,是否必須重新綁定我的PDO參數?
所以,我
$pdo = ConenctToDatabase();
// Check for existence - don't add a duplicate
$sqlQuery = $pdo->prepare('SELECT campaign_id FROM campaigns WHERE (customer_id=:$customerId) AND (title=:campaignTitle) AND (description=:campaignDescription) AND (start_time=:startTimeStamp) AND (end_time=:endTimeStamp)');
$sqlQuery->bindParam(':customerId', $customerId, PDO::PARAM_INT);
$sqlQuery->bindParam(':campaignTitle', $campaignTitle);
$sqlQuery->bindParam(':campaignDescription', $campaignDescription);
$sqlQuery->bindParam(':startTimeStamp', $campaignTitle);
$sqlQuery->bindParam(':endTimeStamp', $endTimeStamp);
如果它不存在,我想重用PDO聲明,改變SELECT到INSERT。
INSERT採用相同的參數。第二個prepare
後,我必須再次綁定它們嗎?
你可以使用'replace'。 –
你試過了嗎?發生了什麼?另外你的綁定參數應該像這樣:$ sqlQuery-> bindParam(':customer',$ customerId,PDO :: PARAM_INT);'用於整數和'$ sqlQuery-> bindParam(':campaignTitle',$ campaignTitle,PDO: :PARAM_STR);'用於字符串和日期。 – Kuya
在這種情況下,我不想更新數據庫。只有當SELECT失敗時,我纔會INSERT。 – Mawg