2015-11-01 212 views
-1

我有一個註冊頁面,其中有輸入框,您可以在其中輸入您的姓名,電子郵件地址和密碼。提交該表單後,會有一個登錄頁面,在該頁面中檢查您是否在SELECT * FROM users WHERE name = '$_POST[name]' AND email = '[email]'的數據庫中。這一切都很好,但是當你真正進入你的帳戶的網站時,我想在頂部有一個消息,說'歡迎回來(數據庫名稱)。爲此,我使用$name = mysql_query("SELECT first_name FROM users WHERE email = $email");,頂部有<?php echo $name ?>。這不會工作。爲什麼?從mysql數據庫檢索數據

+0

崗位多一點,這樣我們就可以知道你是如何訪問和顯示數據 – Mubin

+0

你需要閱讀,學習和理解正確的教程。 –

+0

你問了很多問題,但還沒有接受任何答案。這個網站是雙向的。如果你期望得到幫助,你應該通過接受他們的回答來獎勵那些幫助你的人。閱讀[接受答案如何工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)並開始回饋社區。 –

回答

3

「mysql_query」已被棄用,您現在要使用「mysqli_query」。看到這裏:http://php.net/manual/en/function.mysql-query.php

要回答你的問題,執行查詢創建一個數組,你需要通過從數組中提取後續。

如果在過程風格這樣做,則最終的代碼看起來應該是這樣的:你的代碼的

$link = mysqli_connect("localhost", "my_user", "my_password"); // connect to the database 
$query="SELECT first_name FROM users WHERE email = '".$email."'"; // create the query. Note the quotes arounds the email variable. 
$result=mysqli_query($link, $query); // run the query 
$row=mysqli_fetch_array($result); // fetch the array that is returned from the query 
$name=$row['first_name']; // assign the first_name field to the $name variable 

echo "Hello ".$name.","; // output the variable 
+1

歡迎來到Stackoverflow! –

+1

小修正...你不想將**密碼**作爲純文本存儲。用純文本保存諸如用戶名和電子郵件地址之類的數據應該沒有問題。 –

+0

@MikeEverhart我以前讀過一篇文章,建議以安全的方式存儲任何個人身份信息(http://programmers.stackexchange.com/questions/271376/should-i-keep-email-addresses-as-plaintext-在數據庫)。這是我的第一篇文章,我不想通過告訴某人對個人數據做一些不安全的事來搖擺船。但在閱讀過這方面的內容後,我認爲我過於謹慎了,我同意你的看法。我從我的答案中編輯了這個建議。謝謝! –