2014-12-13 82 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

首先檢查查詢在做什麼? – 2014-12-13 12:27:43

+0

分享您的HTML部分,以及請和您的數據庫結構,如果你可以。 – user3806613 2014-12-13 12:27:45

+0

我覺得mysql連接的第一段代碼是錯誤的?引用了()之間的變量。 – Thaillie 2014-12-13 12:30:32

回答

0

將'members'表'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文件格式標籤?

+0

我試過它給了我(警告:mysql_error()期望參數1是資源,在第86行C:\ xampp \ htdocs \ JLBDigitalArchive \ add_user.php中給出了布爾值)。 echo mysql_error($ insert); – 2014-12-13 13:18:20

+0

哦,列'id'已經設置爲auto_increment。 – 2014-12-13 13:20:57

+0

$ query =「INSERT INTO members VALUES('','myusername','mypassword'')」; <----你有兩個')......刪除一個。 你可以var_dump($插入); ? – Joci93 2014-12-13 13:26:07