【发布时间】:2017-01-08 23:19:18
【问题描述】:
我有一个记录表,其中包含名字、姓氏、手机号码、人员详细信息的电子邮件。我想每次从前端页面获取这些值时检查名字是否与数据库中具有相同名字以及姓氏等的记录匹配。所以如果所有四列都匹配从首页获取的参数如何匹配百分比为 100%。同样,如果三个参数匹配,那么它将是 75% 等等......
尝试...
$firstName = 'peter';
$lastName = 'cetera';
$phoneNumber = '0384849494';
$emailAddress = 'peter@abc.com';
$matchPercentage;
$stmt = $mysqli->prepare("SELECT
person.firstName,
person.lastName,
person.mobileNo,
person.email
FROM
person
LEFT OUTER JOIN reg_person ON (person.personId = reg_person.personId)
AND (person.messageid = reg_person.messageId)
AND (person.firstName = reg_person.firstName)
AND (person.lastName = reg_person.lastName)
AND (person.mobileNo = reg_person.mobile)
AND (person.email = reg_person.email)
WHERE
person.firstName = ? AND
person.lastName = ? AND
person.mobileNo = ? AND
person.email = ?");
$stmt->bind_param("ssss",$firstName,$lastName,$phoneNumber,$emailAddress) or die($mysqli->error);
$stmt->execute();
$stmt->bind_result($firstName,$lastName,$mobileNo,$email);
$stmt->store_result();
$num_of_rows = $stmt->num_rows;
if($num_of_rows > 0){
$matchPercentage = '100%';
}else{......
是否需要 16 个 mysql 查询才能完成?...还是有更简单的方法?
【问题讨论】: