我是編程領域的初學者。如何使用php代碼將數據庫表中的值賦給數組?
我的概念只是將用戶名和密碼檢查後,從登錄頁面移動到主頁。我有一個數據庫表的字段'user_id'&'密碼'。所以我想從表中獲取數據到數組,然後想要將它與用戶輸入的值進行比較......如何以最簡單的方式實現?
我是編程領域的初學者。如何使用php代碼將數據庫表中的值賦給數組?
我的概念只是將用戶名和密碼檢查後,從登錄頁面移動到主頁。我有一個數據庫表的字段'user_id'&'密碼'。所以我想從表中獲取數據到數組,然後想要將它與用戶輸入的值進行比較......如何以最簡單的方式實現?
我總是用
$query = "...";
$sql = mysql_query($query);
while($row = mysql_fetch_assoc($sql)) {
$user_id = $row['user_id'];
// ...
}
我認爲應該更好地工作,你得到一個關聯數組,這樣你就可以用字段名工作。 請注意,如果您選擇SUM(*)
,則必須將$row['SUM(*)']
或通過SQL爲其命名。
雖然您已經展示了很少的研究,而且您的問題非常廣泛,但我會告訴您一個可能會給您一些線索的例子。
$username = mysql_real_escape_string($_POST['username']); //escaping the string, will use it in a query
$password = $_POST['password'];
$result = mysql_query("SELECT password FROM users WHERE username = '$username'");
if (mysql_num_rows($result) == 1) { // Expecting one result
$userdata = mysql_fetch_array($result);
if ($password == $userdata['password']) {
// USER IS AUTHORISED
} else {
// USER IS NOT AUTHORISED
}
}
這是一個簡單的例子。
需要考慮的事情:
md5("string to hash")
生成散列。如果你需要幫助,那就開始另一個問題。感謝您的支持....... – arunrc 2012-03-06 10:58:05
試試這個
// HTML
<form method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" name="login" value="login"/>
</form>
// PHP
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=$_POST['password'];
$username=mysql_real_escape_string($username);
$password=mysql_real_escape_string($password);
$query = "select username,password from tableName
where username='$username' and password='$password'";
$sql = mysql_query($query);
if(mysql_num_rows($sql) == 1)
{
// Login success save username in session redirect to homepage
header("location:homepage.php");
exit();
}
else
{
// Display error message
}
}
$username="username";
$password="password";
//Specify MySQL database to connect to
$database="database";
//Create connection and select the appropriate database
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die("Unable to select database");
//Get the username and password from posted form
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
//Build the query to look for users that exist with that username/password combination
//Here I'm using the users table within my database
$query = "SELECT * FROM users where username=\"$username\" and password = \"$password\" ";
//Retrieve the results of the query, and also aquire the number of records returned
$result = mysql_query($query);
$num = mysql_numrows($result);
//Check to see how many records are returned
if ($num>0)
{
//User login was successful
echo 'success login';
} else {
//Login was unsuccessful
echo 'user name not found';
}
你可以通過使用mysql_fech_array()。 – 2012-03-06 10:15:07
學習如何使用'if語句',然後學習如何從MySQL獲取數據,您已經學會了'重定向',然後將它們放在一起。 – MrCode 2012-03-06 10:20:38
$ sql =「選擇user_id,來自user_details的密碼」; $ result = mysql_query($ sql,$ con); if(!$ result) {'error:'。mysql_error()); } $ row = mysql_fetch_array($ result,MYSQL_BOTH); 我的代碼是這樣的..然後,我想把'行'的內容與輸入的文本字段進行比較..我如何獲得所有值與使用循環...比較?是否可以檢查行[0]行[1]等... – arunrc 2012-03-06 10:38:06