2013-06-25 3 views
-4

문제가 표시되지 않습니다. 내 데이터가 등록 데이터베이스에 삽입되지 않습니다. INSERT INTO 부분을 확인하십시오. 나는 코딩에 초보자이므로이 물건을 많이 알지 못합니다. 도와주세요.내 데이터가 DB 테이블에 삽입되지 않는 이유는 무엇입니까?

<?php 

**my info is here** 

//Connect to database 

mysql_connect ($dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error()); 
mysql_select_db($dbname) or die(mysql_error()); 
?> 


<?php 
if(isset($_POST['submit'])){ 
$username = $_POST[user]; 
$password = $_POST[pass]; 

// lets check to see if the username already exists 

$checkuser = mysql_query("SELECT username FROM register WHERE username='$username'"); 

$username_exist = mysql_num_rows($checkuser); 

if($username_exist > 0){ 
echo "I'm sorry but the username you specified has already been taken.Please pick  another one."; 
unset($username); 
exit(); 
} 

// lf no errors present with the username 
// use a query to insert the data into the database. 

$query = ("INSERT INTO register (username, password) 
VALUES ('$username', '$password')"); 
mysql_query($query) or die(mysql_error()); 
mysql_close($query); 


} 


?> 
+3

어떤 오류가 발생하고 있습니까? –

+4

원시 암호를 데이터베이스에 저장하고 입력을 이스케이프 처리하거나 매개 변수화 된 쿼리를 사용하지 않습니다. 이것은 이미 좋은 시작이 아닙니다. 대신 PDO를 사용하여 먼저 수정해야합니다! – Ryan

+2

정말로'mysql_ *'함수를 사용해서는 안되며 대신 MySQLi 나 PDO를 사용하십시오. –

답변

0

덧글은 mysqli 또는 PDO를 사용하는 것이 정확하지만,이 문제를 해결할 수 있는지를보기 위해 밖으로 시도 :

if(isset($_POST)){ 
    $username = mysql_real_escape_string($_POST['user']); 
    $password = mysql_real_escape_string($_POST['pass']); 

    // lets check to see if the username already exists 

    $checkuser = mysql_query("SELECT username FROM register WHERE username='$username'"); 

    $username_exist = mysql_num_rows($checkuser); 

    if($username_exist > 0){ 
     echo "I'm sorry but the username you specified has already been taken. Please pick another one."; 
     unset($username); 
     exit(); 
    } 

    // if no errors present with the username 
    // use a query to insert the data into the database. 

    $query = ("INSERT INTO register (username, password) VALUES ('$username', '$password')"); 
    mysql_query($query) or die(mysql_error()); 
    mysql_close(); 
} else { 
    echo "No form submission detected."; 
} 

문제가 계속되면, 내가 좋겠 이 페이지에 제출하는 양식과 에 대한 테이블 레이아웃은입니다.

관련 문제