簡體   English   中英

PHP / MySQL:如何僅在滿足特定條件時使用 INSERT INTO

[英]PHP / MySQL: How to use INSERT INTO only if certain condition is met

我是 MySQL 的新手,希望有人能幫我解決這個問題。

我目前使用以下內容作為 PHP 中較長語句的一部分,以便向按預期工作的 db 表寫入一些內容:

$stmt = $conn->prepare("INSERT INTO History (email, year, halfYear, language, content) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("siiss", $email, $year, $halfYear, $language, $content);
$stmt->execute();
$result = $stmt->get_result();

如何檢查相應的電子郵件地址( $email ) 是否已經在數據庫中有 3 個條目,並且僅在數據庫中有 2 個或更少條目時才寫入數據庫(否​​則我只想回顯一些內容)?

我想我可以使用類似$result->num_rows東西,但不確定如何在這里應用它。

有人可以幫我弄這個嗎 ?

提前非常感謝,邁克

根據 OP 的要求。

您首先需要計算條件語句內 SELECT all 集合中的結果。

如果查詢符合條件,則執行下一個。

使用 num_rows 的示例:

if($result->num_rows == 3){ 

  // do something 
}

else { 
  // do something else 
}

num_rows >= 3如果您還想檢查是否等於和/或大於 3。

參考:

邊注:

使用year時要小心,它是 MySQL 的保留關鍵字:

您仍然可以使用它,但只要您將其包裹在刻度中即可。

IE:

(email, `year`, halfYear, language, content)

暫無
暫無

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

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