2014-12-13 1 views
-2

이것은 내 첫 번째 질문입니다. 나는 uni를 위해 일하고있는 사이트를위한 간단한 로그인 시스템을 만들고 클라이언트가 데이터베이스에 새로운 사용자를 추가 할 수있는 페이지를 가지고있다; 데이터베이스에 새로운 사용자를 생성하는 데 문제가 있습니다.

<?php 
 
//INSERT// 
 

 
$host="localhost"; 
 
$username="root"; 
 
$password=""; 
 
$db_name="login"; 
 
$tbl_name="members"; 
 

 
//variables// 
 

 
$myusername=$_POST['myusername']; 
 
$mypassword=$_POST['mypassword']; 
 

 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
 
mysql_select_db("$db_name")or die("cannot select DB"); 
 

 
$query = "INSERT INTO members VALUES ('','myusername','mypassword'')"; 
 

 
     mysql_query($query); 
 

 
echo ''.$_POST['myusername'].' has been added as a new user'.'<br/>' ; 
 

 
mysql_close(); 
 
?> \t

이 에코의는 '회원'테이블에 물건을 넣지 않지만 "MyUserName 에다는"새 사용자로 추가 된 것을. 왜 이런거야? 괜찮아 보이는데. 일시적인 사용자 삽입 스크립트를 사용하여 당분간 작동하지만 실제로이 작업을 수행 할 수 있어야합니다.

<?php 
 
$user="root"; 
 
$password=""; 
 
$database="login"; 
 
mysql_connect('localhost',$user,$password); 
 
@mysql_select_db($database) or die("Unable to select database"); 
 
$query="INSERT INTO `members` VALUES (1, 'kerr', '1234')"; 
 

 

 
mysql_query($query); 
 
mysql_close(); 
 
?>

나는이 말이 희망 : 여기에 작동 내가 사용하는 스크립트입니다. 미리 감사드립니다! 커

+0

먼저 어떤 쿼리를 수행하고 있습니까? –

+0

또한 HTML 부분을 공유하십시오. 가능한 경우 데이터베이스 구조. – user3806613

+0

mysql이 코드의 첫 번째 부분에 연결하는 것이 잘못된 것 같습니까?() 사이의 변수를 인용했다. – Thaillie

답변

0

'구성원'테이블 'id'열을 auto_increment로 설정하십시오.

시도 :

$insert = mysql_query($query); 

if($insert){ 
echo ''.$_POST['myusername'].' has been added as a new user'.'<br/>' ; 
} 
else{ 
echo mysql_error($insert); 
} 

당신이 HTML 파일에 form 태그가 있습니까?

+0

나는 그것이 나에게 줬다. (경고 : mysql_error()는 인자 1이 리소스가 될 것으로 기대한다. 부울은 C : \ xampp \ htdocs \ JLBDigitalArchive \ add_user.php에 86 행에 주어진다. echo mysql_error ($ insert); –

+0

아, 'id'열이 이미 auto_increment로 설정되었습니다. –

+0

$ query = "INSERT INTO 멤버 VALUES ('', 'myusername', 'mypassword' ')"; <---- 네 앞에 두 개있어.) ... 하나 없애라. 할 수 있습니까? var_dump ($ insert); ? – Joci93