[英]Getting User's name from table when they login with e-mail
用戶表設置為:ID | 姓名| 電郵| 密碼
然后他們登錄:
電郵| 密碼
我想知道當他們使用電子郵件登錄時如何顯示他們的“姓名”。 到目前為止,與電子郵件兼容的是:
session_start();
if (!isset($_SESSION['email'])) {
header('location: ');
}
include_once('config.php');
$email = $_SESSION['email'];
<!doctype html>
<body>
<p><?php echo $email; ?>
可行,但是當我嘗試類似
$sql = "SELECT name FROM $table WHERE email='$_SESSION["email"]'";
$result = mysql_query($sql);
<!doctype html>
<body>
<p><?php echo $result; ?></p>
那行不通。 任何幫助表示贊賞
您沒有從數據庫獲取結果,請使用以下行
mysql_result($result ,0);
您可以使用上述功能。請參閱php手冊以從數據庫中獲取結果
您確實應該包括更多信息,例如,嘗試包含的代碼時出現什么錯誤。 然而,
看起來您沒有正確轉義字符串$ sql。 嘗試類似:
$sql = "SELECT name FROM $table WHERE email='" . $_SESSION["email"] . "'";
請注意連接字符串的點(。),而不是像您嘗試那樣在字符串內部求值。
如果您確實想在字符串中輸入數組索引,則可以使用{}將變量括起來
$sql = "SELECT name FROM $table WHERE email='{$_SESSION["email"]}'";
mysql_query()
只返回一個資源 ,該資源需要傳遞給mysql_fetch_array()
來處理返回的記錄; http://php.net/manual/zh/function.mysql-query.php有一些示例
像這樣做:
$sql = "SELECT name FROM $table WHERE email=".$_SESSION['email'];
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$name = $row['name'];
<!doctype html>
<body>
<p><?php echo $name; ?></p>
問候,
Akke
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.