2014-11-16 2 views
-1

PHP를 통해 mysql 데이터베이스에 데이터를 삽입하고 있습니다.데이터가 PHP 스크립트를 통해 mysql 데이터베이스에 삽입되지 않습니다.

<?php 

    session_start(); 

    $username1=$_GET['uname']; 
    $pwd1=$_GET['pwd']; 


    mysql_connect("localhost","root","")or die("cannot connect to my sql"); 
    mysql_select_db("webapp")or die("cannot connect database webapp"); 

    // CHANGE QUERY FOR INSERT 
    $sql="INSERT INTO login (uname, pwd) VALUES ('$username1', '$pwd1')"; 



    //$sql = "INSERT INTO login ". 
     // "(uname,pwd) ". 
      //"VALUES ". 
      //"('$username1','$pwd1')"; 


    // EXECUTE QUERY AND GET RESULT IN $RESULT 
    $result=mysql_query($sql); 

    //THIS TIME WE ARE NOT CHECKING $COUNT 
    if($result) 
    { 
    echo "You have successfully Inserted your new record"; 
    } 
    else 
    { 
    echo "Operation Failure please re-attempt"; 
    } 

?> 

내가 그것을 데이터베이스에 값을 삽입하지 않습니다이 스크립트를 실행 .. Database view in XAMPP

+6

안녕하세요, 귀하의 친숙한 지역에서 SQL injection – AlienWebguy

+0

오류 메시지가 발생합니까? – schroeder

+0

URL 표시 줄에 표시되므로 GET 메소드를 통해 사용자 이름/비밀번호 필드를 제공하는 것은 일반적으로 바람직하지 않습니다. 대신 POST를 사용하십시오 (암호화되어 있지는 않지만 적어도 URL에는 보이지 않습니다). – user2435860

답변

0

코드는 의도 한 역할을 완벽하게 할 것 같다. 다른 사용자는 GET 대신 POST를 사용하는 것이 더 나은 방법이라고 언급했습니다. 나는 또한 당신이 그 입력을 위생해야한다고 덧붙일 것입니다.

내 서버에 코드를 복제했습니다. 그것은 잘 작동합니다. 따라서 루트 사용자 (Connecting to mysql in xampp without password)에 암호를 사용하고 있지 않다는 사실을 재검토 할 것을 권장합니다. 참조 테이블 이름과 필드가 올바른지 다시 한 번 확인합니다. http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs

웹 서버를 확인 : 나는 이미하지 않으면 것은, 마지막으로 ....

error_reporting(E_ALL); ini_set('display_errors', 1); 

를 데이터베이스에 기록 할 가능성이 페이지에 PHP 오류를 인쇄 할 권한이 있는지 확인을 두 배로 MySQL의 로깅을 설정 것 로그 (설정에 따라 다름) 및 서버 로그를보고 로그에 오류가 출력되는지 확인하십시오. 코드가 작동해야합니다.

또한 단지 예상대로 나오고 있는지 확인하기 위해 귀하의 쿼리 문자열을 인쇄 :

당신은 아무것도 화면에 인쇄 또는 당신이 실제로 얻는 경우를 받고 궁금
print($sql); exit; 

"당신은 성공적으로 삽입 한 당신의 새로운 기록 ". 물론 그것은 뭔가 잘못되었다는 첫 번째 호출 포트 일 것입니다. 아마도 $ 결과는 항상 true/mysql에 대한 삽입이 성공했는지 여부와 상관없이 리소스 데이터를 포함합니다. 따라서 실제로 반환 된 결과를보기 위해 결과 리소스 배열을 출력 할 수도 있습니다.

관련 문제