2015-02-23 62 views
1

爲我的網站,我產生獨特的價值電子郵件隨機碼登錄,因此當用戶登錄上述電子郵件和密碼,所以我需要僅回覆該用戶的詳細信息。PHP如何獲取的唯一值的行值傳遞

例如: 在我的數據庫中有名字,姓氏,手機號碼,電子郵件,代碼。 因此,如果用戶用電子郵件和代碼登錄,我必須回顯所有的細節作爲名字,姓氏,手機號碼

在我的情況下如何使用精確查詢通過電子郵件和代碼回顯所有的細節。

$sql = 'select firstname, lastname, mobileno from clients where code=; & email= 
If (is_array($row = $db->queryRow($sql))) 
Echo($firstname, $lastname, $mobileno) = $row; 

請大家幫忙。

回答

2
$code = $_POST['code']; 
$email = $_POST['email']; 

$sql = $db->prepare("SELECT firstname, lastname, mobileno FROM `clients` WHERE code = ? AND email = ?"); 
$sql->execute(array($code, $email)); 
$results = $sql->fetchAll(PDO::FETCH_ASSOC); 

foreach ($results as $row) { 

    echo $row['firstname'].'<br>'; 
    echo $row['lastname'].'<br>'; 
echo $row['mobileno'].'<br>'; 

} 
0

這是HTML登錄:

<form action="" method="POST"> 
<input name="email" type="email"><br> 
<input name="code" type="text"><br> 
<input name="submit" type="submit" value="login"> 
</form> 

這將是爲每個用戶不同的,因爲他有自己的信息登錄...

提交表單:

if (isset($_POST['submit'])) { 

$email = $_POST['email']; 
$code = $_POST['code']; 

    $sql = mysql_query("SELECT firstname, lastname, mobileno FROM `clients` WHERE code = '$code' AND email = '$email'"); 

    while ($row = mysql_fetch_array($sql)) { 

    echo $row['firstname'].'<br>'; 
    echo $row['lastname'].'<br>'; 
    echo $row['mobileno'].'<br>'; 

    } 
} 
+1

由於MySQL擴展已正式廢棄,並且由於在今年年底之前從PHP中刪除,所以使用MySQLi o使用準備好的語句和綁定變量的PDO應該會是更好的答案......尤其是「email」和「code」值可能來自用戶輸入 – 2015-02-23 11:37:42

+0

確實如此,但是現在他已經開始瞭如何寫下他的疑問。 – 2015-02-23 11:47:55

+0

@JeroenBellemans感謝您的幫助,隨機代碼和電子郵件$ code ='ASDYBU'; $ email ='[email protected]';將由用戶更改,因此它不是靜態的,所以需要一個適用於所有用戶的查詢。 – 2015-02-23 12:12:32