2016-02-23 2 views
2

У меня есть следующая таблица, я хотел бы соответствовать электронной почте. , например, если я найти [email protected] из этой таблицы должны соответствовать [email protected]сопоставление двойной записи электронной почты (стандартный формат) в таблице mysql

+--------+--------+---------+------------------+------------+-------+ 
| name | owner | species | email_id   | birth  | death | 
+--------+--------+---------+------------------+------------+-------+ 
| Fluffy | Harold | cat  | [email protected] | 1993-02-04 | NULL | 
| Buffy | Harold | dog  | [email protected] | 1989-05-13 | NULL | 
+--------+--------+---------+------------------+------------+-------+ 

В настоящее время я позволяю электронной почты для хранения таблиц, таких как *[email protected] ком ** в этом случае, если я найду [email protected] он должен соответствовать [email protected]

Другой возможный адрес

[email protected] 
[email protected] 
[email protected] 
abc+[.....]@gmail.com 

[.....] - означает, что цифры

+1

что вы пробовали? –

+1

использовать mysql LIKE или regexp –

+0

с использованием REGEXP - лучший способ, но как соответствовать вышеуказанным требованиям. –

ответ

0

надеюсь, что это дает вам представление о

$newUserEmail = "[email protected]"; 
    $matchEmail=preg_replace('/[^[email protected]]/s', '', $newUserEmail); 
    $result = $mysqli->query("SELECT * FROM your_table WHERE email_id = '$newUserEmail'"); 
    echo "num_rows = ".$result->num_rows."\n"; 
    $result1 = $mysqli->query("SELECT * FROM your_table WHERE email_id = '$matchEmail'"); 

    echo "matchEmail= ".$result1->num_rows."\n"; 

    if ($result->num_rows > 0) { 
     echo "Duplicate email\n"; 
     // do something to alert user about non-unique email 
    } elseif($result1->matchEmail > 0){ 
     echo "Duplicate email\n"; // regex match email found 

    } 
    else{ 

     $result = $mysqli->query("INSERT IGNORE INTO your_table "); // make your insert query here 
     if ($result === false) {echo "SQL error:".$mysqli->error;} 
    } 
+0

Я обновил мои вопрос, смотрите снова. –

+0

Я обновил свой ответ, пожалуйста, см. Выше .. – santosh

+0

Хорошая идея, но на самом деле требуется некоторое время, чтобы закончить весь процесс. Будет лучше, если мы будем иметь дело с MySQL –

Смежные вопросы