php
  • mysql
  • mysqli
  • 2013-08-11 5 views 0 likes 
    0

    과제로 선생님이 저의 고등학교 (10 학년)에 html과 php를 사용하여 로그인 양식을 만들었습니다. PHP를 배우기 시작 했으므로 진전을 보았습니다. 나중에 더 안전한 옵션을 선택하겠습니다. 이PHP 업데이트 쿼리가 작동하지 않습니다.

     $sql=("UPDATE user_check SET user = '1' "); 
        $sql=("UPDATE user_check SET name = '$username' "); 
    

    는 첫 번째 작업과 1로 데이터베이스를 업데이트합니다 말한다

    <?PHP 
    
    //Create the connection… 
    //("where the database is", 'Database login' , 'database password' , "Database name") 
    $con=mysqli_connect("", 'root', 'root', "Social"); 
    
    //Check our connection… 
    if (mysqli_connect_errno($con)) 
    { 
        echo " Sorry Mate"; 
    } 
    $username = $_POST[username]; 
    $password = $_POST[pawd]; 
    
    $result = mysqli_query($con, "SELECT * FROM User_info"); 
    $row = mysqli_fetch_array($result); 
    $value = $row['username']; 
    if($value == "$username") 
    { 
        $result = mysqli_query($con, "SELECT * FROM User_info"); 
        $row = mysqli_fetch_array($result); 
        $value = $row['password']; 
        if($value == "$password") 
         { 
         $sql=("UPDATE user_check SET user = '1' "); 
         $sql=("UPDATE user_check SET name = '$username' "); 
         header('Location: feed.php') ; 
         } 
         else 
         { 
         header('Location: social.php') ; 
         } 
    } 
    else 
    { 
    header('Location: social.php') ; 
    } 
    
    if (!mysqli_query($con,$sql)) 
        { 
        die('Error: ' . mysqli_error($con)); 
        } 
    mysqli_close($con); 
    ?> 
    

    그러나 두 번째는 내가 열 이름이 변수 $의 이름을 변경 확인하지 않습니다 SQL과 $ username 그리고 여전히 작동하지 않습니다 어떤 제안입니까? 미리 감사드립니다 : D

    +0

    WHERE 절없이 테이블의 모든 행을 업데이트한다는 것을 알고 계십니까? 이것이 설계에 의한 것인지 만 확인하면됩니까? – Sir

    +0

    예 별도의 테이블과 단 하나의 행 – Obcure

    +0

    이 쿼리를 반향 출력하고 문자열을 가져 와서 phpmyadmin에서 직접 실행 한 다음 오류를 알려주십시오. –

    답변

    0

    먼저 $_POST['username']username 열을 결과에서 비교하지만 데이터베이스의 name 열을 업데이트하려고합니다.

    $sql = ("UPDATE user_check SET name = '$username' "); 
    

    가 있어야한다 :이 이상한 보이는

    $sql = ("UPDATE user_check SET username = '$username' "); 
    
    0

    : 내 생각이다

    $sql=("UPDATE user_check SET user = '1' "); 
        $sql=("UPDATE user_check SET name = '$username' "); 
    

    두 번째 줄은 이전의 첫 번째에 저장된 값을 덮어 쓰게됩니다.

    당신이 실행중인 생각하는 것은 당신이 실행중인 있는지, 당신은 SQL을 호출 라인 전에 다이 ($의 SQL)

    을 넣어보십시오.

    관련 문제