2012-03-17 46 views
0

因此,我試圖做一個註冊頁面,反饋一個變量,當一個特定的標誌提出..「所有準備註冊」「註冊限制」這是最好的方式來這樣做還是有更好的方法?我有點新的PHP ...我一直在mysql_num_rows()得到一個錯誤..

下面是代碼....

<?php 
//not really 
$dbhost = 'sample'; 
$dbname = 'contacts'; 
$dbuser = 'sample'; 
$dbpass = 'sample'; 
//retrieve our data from POST 
$username = $_POST['username']; 
$pass1 = $_POST['password']; 
$pass2 = $_POST['timestamp']; 
$pass3 = $_POST['deviceId']; 
$pass4 = $_POST['phone']; 
$pass5 = $_POST['name']; 


$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
     mysql_select_db($dbname, $conn); 

//sanitize username 
$username = mysql_real_escape_string($username); 
$pass1 = mysql_real_escape_string($pass1); 
$pass2 = mysql_real_escape_string($pass2); 
$pass3 = mysql_real_escape_string($pass3); 
$pass4 = mysql_real_escape_string($pass4); 
$pass5 = mysql_real_escape_string($pass5); 

function email_exists() 
{ 
    // $query = "SELECT * FROM Users WHERE username = '" . $username . "'"; 
    $sql2 = mysql_query("SELECT username FROM Users WHERE username = '" . $username . "'"); 
     // $sql2 = mysql_db_query("SELECT * FROM Users WHERE username = '" . $username . "'"); 
     // $erg = mysql_num_rows($sql2) > 0; 
    return (mysql_num_rows($sql2)); //method 1 
} 

function device_exists() 
{ 

    $query2 = "SELECT * FROM Users WHERE deviceID = '" . $pass3 . "'"; 
    //$sql2 = mysql_db_query("SELECT * FROM Users WHERE deviceID = '" . $pass3 . "'"); 

    $sql3 = mysql_query($query2); 
    return (mysql_num_rows($sql3)); //method 2 
} 

if (email_exists() == 0) { 
    //(passed the no email in database, now lets check how many accounts under the device ID) 
    if (device_exists() < 3) { 

     $query = "INSERT INTO Users (username, password, timestamp, deviceId, phone, name) 
     VALUES ('$username' , '$pass1' , '$pass2', '$pass3', '$pass4', '$pass5');"; 
     mysql_query($query); 
     mysql_close(); 
     echo "1"; // Regstered succefully 
    } else { 
     echo "5"; //3 registered users per device only 
    } 
} else { 
    echo "0"; //already have an account (email is used.....) 
} 

?> 
+0

什麼錯誤mysql_num_rows()給予試試? – Milap 2012-03-17 06:25:44

+0

Plz分享你的錯誤! – Sourav 2012-03-17 06:27:30

+0

現在,它停止給我的錯誤,但它仍然總是返回0 ...即使該帳戶不在那裏..或它是。我是否正確地調用了這些功能?我是否正確使用函數輸出? – LuisCamarena 2012-03-17 06:37:35

回答

0

你有可能是same問題 你好請與GREATERTHAN運算符(>)零個

if (email_exists()) // valid result 
{ 
    if (email_exists() > 0) // more than 0 records 
     // rest code; 
    else 
     // insert operation; 
} 

謝謝...好運

+0

我需要它說,如果它不在那裏,然後繼續.. – LuisCamarena 2012-03-17 06:46:55

+0

讓我知道在這個解決方案的階段什麼問題? – 2012-03-17 06:52:31

+0

我想通了,但謝謝大家...有時你只需要有人彈出想法與.. – LuisCamarena 2012-03-17 07:01:00