0
私は、姓、名、携帯電話番号、人の詳細を含むレコードのテーブルを持っています。私はこれらの値をフロントエンドのページから渡して、ファーストネームがデータベースのレコードと一致するかどうかをチェックするたびにチェックしたいと思います。パラメータは正面のページからいくつかの一致する割合が100%です。 3つのパラメータは?それは75%になるだろうというように...複数の列の値を一致させてレコードの一致率を取得します
試み...
$firstName = 'peter';
$lastName = 'cetera';
$phoneNumber = '0384849494';
$emailAddress = '[email protected]';
$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のクエリを取る、その後一致...かあります。同様場合簡単な方法?
これらのパラメータの一つは、ゴードン – Swarne27
@一致していない場合、このクエリは0を返します@。 Swarne27。 。 。 'OR'と' AND'の違いを考えてみましょう。 1つだけが一致する必要があります。 –