我是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
) 是否已经在db中有3个条目,仅在db中写入,当它有2个或更少的条目(否则我只是想回声一些东西)?
我想我可以使用$result->num_rows
之类的东西,但不确定如何在这里应用。
有人能帮我一下吗?
提前感谢,迈克
按op要求。
首先需要计算条件语句中SELECT all集合的结果。
如果查询符合条件,执行下一个查询。
使用num_rows:
的示例if($result->num_rows == 3){
// do something
}
else {
// do something else
}
或num_rows >= 3
如果你想检查是否等于和/或大于3。
- http://php.net/manual/en/mysqli-result.num-rows.php
旁注:
小心使用year
,它是一个MySQL保留关键字:
- https://dev.mysql.com/doc/refman/5.5/en/keywords.html
你仍然可以使用它,但是只要你把它用勾号括起来。
即:
(email, `year`, halfYear, language, content)