2014-12-13 4 views
0

У меня есть таблица вроде этого:Несколько запросов на одной таблицы MySQL

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

Я хочу, чтобы проверить, если FirstName и LastName уже существует в базе данных с помощью функции PHP. Как я могу запустить простой запрос, чтобы проверить, есть ли какие-либо результаты? переменной для firstname является: $ firstname и $ lastname для последнего имени.

Благодарим за помощь!

+3

Добро пожаловать в Stackoverflow, не могли бы вы поделиться тем, что вы пробовали до сих пор, и где вы застряли? – Panther

+0

Я могу исправить результат, который я хочу с запросами. SELECT title, content FROM users_info WHERE title = Имя и содержимое = $ firstname и второе имя для последнего. – tester123qqq

+1

Я думаю, что лучший способ пойти - это подзапросы. SELECT 'userID' из' users_info' где 'title' = 'Firstname' и' content' = '$ firstname' AND 'userID' IN (SELECT' userID' из 'users_info' где' title' = 'Lastname' и ' content' = '$ lastname') Если у вас есть какие-либо результаты. у вас есть строки с этим именем и фамилией с тем же идентификатором. –

ответ

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') 

Если у вас есть какие-либо результаты. у вас есть строки с этим именем и фамилией с тем же идентификатором.

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