php
  • mysql
  • select
  • 2012-03-17 2 views 0 likes 
    0

    그래서 특정 플래그를 올렸을 때 변수를 피드백하는 등록 페이지를 만들려고합니다. "All ready registered" "등록 제한"은 아니면 더 좋은 방법이 있습니까? 나는

    <?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

    +0

    Plz은 무엇을 잘못하고 있는지 공유합니다! – Sourav

    +0

    글쎄 지금 그 중지 givig 날 오류,하지만 여전히 0을 반환 ... 계정이 거기에없는 경우에도 .. 또는 그것이 있습니다. 함수를 올바르게 호출합니까? 함수 출력을 올바르게 사용하고 있습니까? – LuisCamarena

    답변

    0

    .... 내가 여기

    코드입니다 있습니다 .. mysql_num_rows도()에 오류가 점점 계속 ... PHP에 약간의 새로운 해요 당신은 안녕 same 문제 될 수 있습니다 주는 제로

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

    감사와 초과] 연산자 (>) ... 최고의 행운

    +0

    그곳에 있지 않다면 .. 계속 말하십시오. – LuisCamarena

    +0

    이 솔루션의 문제점 단계를 알려주십시오. –

    +0

    나는 그것을 알아 냈지만 모두에게 감사를 드린다. 때때로 아이디어를 가지고 떠오르는 누군가가 필요하다 .. – LuisCamarena

    관련 문제