使用电子邮件地址从 MySQL 数据库获取行上的键值



我需要通过使用Name键同一行上的电子邮件地址从Mysql数据库中名为Name的键中获取一个值。我需要在 PHP 中回显 Name 的值。任何帮助将不胜感激。

谢谢!

这是我所拥有的:(感谢马克·法哈多(Mark Fajardo(的这段代码,我做了一些小的修改(

$db = mysqli_connect($db_host, $db_user, $db_password, $db_name);
$email = $_SESSION['email'];
$results = $db->query("SELECT * FROM users;");
$row = mysqli_fetch_assoc($results);
if(array_search($email, $row) != false) { // this will return false if not found
$name = $row["name"];
echo $name;
}

更新

现在它只获取数据库中的第一行。

感谢所有回答的人!我觉得我离让它工作越来越近了!

基本上,您有一个包含表字段的数据库,例如:

  • 编号
  • 电子邮件
  • 名字

因此,要在PHP中从数据库中检索这些值,您只需发出请求-> https://www.php.net/manual/en/mysqli.quickstart.statements.php

对于这个例子,我们可以想到这样的东西:

$email = $_POST['email'];
$requete = $myDb -> query('SELECT id, email, name FROM tableName WHERE email=' . $email);

我强烈建议您使用准备好的查询来检索或显示用户输入的值,这肯定是"名称"的情况

为了显示它,您需要:

$data = $requete -> fetch();
// ...
echo $data['name'];

就这样!您现在知道如何从数据库恢复数据:)

$result = mysql_query($sql); 
while ($row = mysql_fetch_assoc($result)) { 
echo $row['name'].'<br>'; 
} 

你可以像这样做你的sql查询

$sql = "SELECT name FROM users WHERE email = '$email'";
$results = mysql_query($sql, $con);
$row = mysql_fetch_assoc($results);
$name = $results['name'];

或者像这样

$sql = "SELECT * FROM users";
$results = mysql_query($sql, $con);
$row = mysql_fetch_assoc($results);
if(array_search($email, $row) != false) { // this will return false if not found
$name = $row["name"];
}

编辑

获取所有行

while($row = mysql_fetch_assoc($results)) {
if(array_search($email, $row) != false) { // this will return false if not found
$name = $row["name"];
}
}

最新更新