Php 在html页面上显示从数据库检索到的名字的最佳方式是什么?
这里显示了一个通知,它是“ 注意:未定义的属性:mysqli\u结果::$first\u name“ 它正在返回对象,那么如何从中提取名字呢Php 在html页面上显示从数据库检索到的名字的最佳方式是什么?,php,html,Php,Html,这里显示了一个通知,它是“ 注意:未定义的属性:mysqli\u结果::$first\u name“ 它正在返回对象,那么如何从中提取名字呢 $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $db = 'blood_db'; $connection = new mysqli($dbhost,$dbuser,$dbpass,$db); if($connection->connect_error){ die("Serv
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'blood_db';
$connection = new mysqli($dbhost,$dbuser,$dbpass,$db);
if($connection->connect_error){
die("Server Error ".$connection->connect_error);
}
else{
$query = ("SELECT first_name FROM accounts WHERE email_address = '".$_SESSION['username']."'");
$obj = $connection->query($query);
echo "Welcome ".$obj->first_name;
//printf(“欢迎%s”,$result->);
回声“
”;
使用下面的代码
// printf("Welcome %s",$result->);
echo '<br><a href="logout.php">Logout</a>';
如果要检查数据是否为空,可以尝试选择数据并添加条件
$result = $connection->query($query);
if($result){
$row = $result->fetch_assoc();
echo "Welcome ".$row['first_name'];
}else{
// check error
}
如果您不想检查数据,请使用此选项
$obj = $connection->query($query);
if ($obj->num_rows > 0) {
$row = $obj->fetch_assoc();
echo "Welcome ".$row['first_name'];
}
更多信息
一个非常基本的例子如下:
$row = $obj->fetch_assoc();
echo "Welcome ".$row['first_name'];
它说:致命错误:不能将mysqli_result类型的对象用作数组。$obj应该是一个msqli_result对象。请参阅文档,了解如何访问查询返回的数据:您试图从mysql查询执行对象获取记录。您需要使用以下方法之一获取记录:$row=$obj->fetch_assoc();回显“欢迎”。$row['first_name'];谢谢,这些都奏效了。但是@Parth你在代码的第二行漏掉了一个终结者:P。顺便说一句,谢谢。如果我想在用户登录后,从登录页面限制用户,我需要做什么?在用户登录后,在会话中选择用户id,如果用户id已经在会话中,而不是将用户重定向到用户帐户或用户dashb oardA更准确的方式,向您竖起大拇指!如果我想在用户登录后从登录页面限制用户,我需要做什么?您想检查该用户是否已经登录?如果是,然后显示它?只是按照这个,这是一个很好的例子,我只想检查,如果用户登录,然后限制他返回到索引页,这是登录页!如果我想在用户登录后从登录页面限制他/她,我需要做什么?您可以使用会话。看看这些文章:和
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$firstname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM tbl_test WHERE email_address = '". $_SESSION['username']. "'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Retrieve Firstname
while($row = $result->fetch_assoc()) {
$firstname = $row["first_name"];
}
} else {
echo "No results found!";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<header>
<h3>Welcome <?php echo $firstname; ?></h3>
</header>
</body>
</html>
<?php
$conn->close();
?>