2014-01-17 33 views
1

,所以我有一個驗證表由KEY_ID,key_verification,confirm_key和KEY_STATUS如何在不同的列在同一個表中的值進行比較

的,這是對client_verifycodez.php的SQL過程,我想比較key_verification和confirm_key的值如果相同

需要更新sql,以便當客戶端輸入表單中的密鑰時,它將作爲confirm_key進入db。所以由我希望confirm_key的值與已經存在的key_verification比較

$sql1 = "UPDATE verification SET confirm_key = '".$confirm_key."' WHERE key_id ='".$id."'"; 
    mysql_query($sql1); 

    $sql = ("SELECT * FROM verification WHERE key_verification = confirm_key"); 
    $query = mysql_query($sql) or die ("Error: " . mysql_error()); 
    $check = mysql_fetch_array($query); 

    if($check==true) 
    { 
    echo "<center>"; 
    echo "Your key is invalid!"; 
    echo "<br>"; 
    echo "<a href=client_verifycodez.php>Back </a>"; 
    echo "</center>"; 
    } 
    else 
    { 
    header("Location: home.php"); 
    } 

所以我需要的是怎樣比較,這樣,當key_verification和confirm_key是等於,它會去home.php要不然警報。我想我有問題的SQL。

任何人都可能幫助我嗎?謝謝

+0

這看起來很奇怪。如果你的查詢是真實的,那麼這意味着密鑰匹配,它說你的密鑰是無效的。那是故意的嗎? –

+0

@YUNOWORK對不起,這不是查詢,但檢查 – doksoos

+0

是的,好吧,但這並沒有改變意義......如果你查詢包含的東西,$ check變成true,因爲填充變量幾乎總是如此。如果它是真的,你輸出的代碼是無效的,即使它的有效...我沒有得到它。也許我太累了,但對我來說,這種情況看起來不對。 –

回答

1

你不能做到這樣,使用子查詢,

"SELECT * FROM verification WHERE key_id =". $id ." AND key_verification 
= (SELECT confirm_key FROM verification WHERE key_id =". $id .")" 

注:Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

謝謝你的工作! – doksoos

0

的mysql_num_rows()函數將返回現有的行數計數

請使用mysqli擴展總是

<?php 

$sql = ("SELECT * FROM verification WHERE key_verification = confirm_key"); 

$query = mysql_query($sql) or die ("Error: " . mysql_error()); 

//get the number of result rows 
$num_rows = mysql_num_rows($query); 

//get the details 
$check = mysql_fetch_array($query); 

if($query) 
{ 
    if($num_rows>0) 
    { 
    echo "<center>"; 
    echo "Your key is invalid!"; 
    echo "<br>"; 
    echo "<a href=client_verifycodez.php>Back </a>"; 
    echo "</center>"; 
    } 
    else 
    { 
    header("Location: home.php"); 
    } 
} 
相關問題