2014-12-13 71 views
0

我有一個表是這樣的:多個查詢在同一個表中的MySQL

users_info: 
userID | title  | content 
1  | Firstname | Tester 
1  | Lastname | Wester 
2  | Firstname | LKks 

我要檢查,如果名字和姓氏的數據庫與PHP函數已經存在。 如何運行簡單的查詢來檢查是否有任何結果? firstname的變量是:$ firstname和$ lastname是姓氏。

謝謝你的幫助!

+3

歡迎來到Stackoverflow,你可以分享你迄今爲止嘗試過的東西,以及你被困在什麼地方嗎? – Panther 2014-12-13 17:09:31

+0

我可以修復我想要查詢的結果。 SELECT title,content FROM users_info WHERE title =名字和內容= $名字 和第二個姓氏。 – tester123qqq 2014-12-13 17:10:14

+1

我認爲最好的方法是子查詢。 從'users_info'選擇'userID'其中'title' = '名字' 和'content' = '$姓名' 和'userID' IN(來自'users_info'其中'title' = '姓' 和''SELECT userID' content'='$ lastname') 如果您收到任何結果。你有具有相同ID的這個名字和姓氏的行。 – 2014-12-13 17:10:59

回答

0
function tableValidate($firstname, $lastname) 
{ 
$query = $dbConnect->prepare("SELECT * FROM users_info WHERE title = ? AND content = ?"); 
$query->bindValue(1, 'Firstname'); 
$query->bindValue(2, $firstname); 
$query->execute(); 
try 
{ 
    $result = $query->rowCount(); 
} 
catch(PDOException $e) 
{ 
    die($e->getMessage()); 
} 

$queryOne = $dbConnect->prepare("SELECT * FROM users_info WHERE title = ? AND content = ?"); 
$queryOne->bindValue(1, 'Lastname'); 
$queryOne->bindValue(2, $lastname); 
$queryOne->execute(); 
try 
{ 
    $resultOne = $queryOne->rowCount(); 
} 
catch(PDOException $e) 
{ 
    die($e->getMessage()); 
} 

if($result > 0 && $resultOne > 0) 
{ 
    echo "Firstname and Lastname Exists"; 
} 
else if ($result > 0) 
{ 
    echo "Firstname Exists"; 
} 
else if ($resultOne > 0) 
{ 
    echo "Lastname Exists"; 
} 
else 
{ 
    echo "Success"; 
} 
} 
1

我認爲最好的方法是子查詢。

SELECT userID from users_info where title = 'Firstname' and content = '$firstname' AND 
userID IN (SELECT userID from users_info where title = 'Lastname' and content = '$lastname') 

如果您收到任何結果。你有具有相同ID的這個名字和姓氏的行。