[英]joining two tables with same id and same name of columns but different values
[英]Checking for duplicates in two tables with same name columns
我是編程語言有限的業余愛好者,請幫助。 我有以下代碼:
try
{
$stmt = $DB_con->prepare("SELECT user_email FROM m_users WHERE user_email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['user_email']==$umail) {
$error[] = "Sorry but someone has already registered with this email address !";
}
else
{
if($user->register($umail,$ucountry,$uip))
{
$user->redirect('m_c.php');
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
此代碼按原樣執行-僅在一個名為m_users
表中查找重復的電子郵件,如果發現一個, m_users
引發通知。
我想要的是它看起來並在名為f_users
的附加表中檢查WELL,它具有完全相同的列結構。 我嘗試了不同的技巧,無濟於事。 提前謝謝了。
我的PHP非常生銹,但是您可以運行另一個查詢並在有條件的情況下進行檢查:
$stmt = $DB_con->prepare("SELECT user_email FROM m_users WHERE user_email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
$stmt = $DB_con->prepare("SELECT user_email FROM f_users WHERE user_email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row_2=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['user_email']==$umail or $row_2['user_email']=$umail) {
$error[] = "Sorry but someone has already registered with this email address !";
}
您是否可以更改SQL查詢,以便在一個查詢中在兩個表中查找電子郵件地址?
SELECT user_email FROM m_users WHERE user_email=:umail
UNION
SELECT user_email FROM f_users WHERE user_email=:umail
就我所讀的內容(我只是在猜測),您有一個供男性用戶使用的表,另一個供女性用戶使用的表,您可以通過將一個表轉儲到另一個表中並添加一列性別來合並兩個表。 現在,有很多方法可以解決您的問題,但是我建議您這樣做,它添加了另一個else語句並運行相同的查詢,但是更改了表名。
<?php
try{
$stmt = $DB_con->prepare("SELECT user_email
FROM m_users
WHERE user_email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['user_email']==$umail) {
$error[] = "Sorry but someone has already registered with this email address !";
}else{
$stmt = $DB_con->prepare("SELECT user_email
FROM f_users
WHERE user_email=:umail");
$stmt->execute(array(':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['user_email']==$umail) {
$error[] = "Sorry but someone has already registered with this email address !";
}
}else{
if($user->register($umail,$ucountry,$uip)){
$user->redirect('m_c.php');
}
}
}catch(PDOException $e){
echo $e->getMessage();
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.