1
我使用PHP插入到MySQL中,代碼經過但當我查詢數據庫時,我在數據庫中找不到任何東西。我無法弄清楚發生了什麼事。我在Db中有五個字段(ID,用戶名,電子郵件,密碼,鹽)。以下是我的PHP代碼。沒有錯誤,但我無法看到我的數據庫中的數據
<?php
include 'db_connect.php';
include 'functions.php';
$password = $_POST['password'];
$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
$password = hash('sha512', $password.$random_salt);
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email,
password,salt) VALUES (?, ?, ?, ?)"))
{
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
$insert_stmt->execute();
echo 'User added';
}
else
{
echo 'Error couldnt add the user, Try again';
}
?>
而下面是我的表單用於註冊。
<form id="form1" name="form1" method="post" action="Registration Process.php">
<table width="373" height="130" border="1">
<tr>
<td width="180" height="27">Username (Name & Surname)</td>
<td width="140"><label for="username"></label>
<input type="text" name="username" id="username" /></td>
</tr>
<tr>
<td height="23">Email</td>
<td><label for="email"></label>
<input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td height="22">Password</td>
<td><label for="password"></label>
<input type="text" name="password" id="password" /><label for="salt"> </label> </td>
</tr>
<tr>
<td height="22">Salt</td>
<td><input type="text" name="salt" id="salt" /></td>
</tr>
<tr>
<td height="22">Click To register member</td>
<td><input type="submit" name="register" id="register" value="Submit" /></td>
</tr>
</table>
<p> </p>
<!-- end .content -->
</form>
這是正確的? action =「註冊Process.php」的空間? – swapnesh
所有其他變量如何填充?像'$ username','$ email'等等 - 我沒有看到它們被設置在你的代碼中......並且你沒有在你的'$ insert_stmt-> execute()'函數中捕獲錯誤 - 參見[這個頁面上的示例3](http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php)獲取更多信息 –
@swapnesh是的我認爲它是正確的,但是我會改變它參數的緣故,也改變文件名。 thanx –