无法使用 php 获取和显示数据
Posted
技术标签:
【中文标题】无法使用 php 获取和显示数据【英文标题】:Unable fetch and show data using php 【发布时间】:2019-04-14 15:57:29 【问题描述】:我正在尝试显示用户名、电子邮件 ID,但每次都显示“1”作为输出。 无论我在哪里尝试获取并显示值,它都只显示 1 作为输出。
数据库:
CREATE TABLE `admin` (
`id` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`created_at` datetime DEFAULT current_timestamp(),
`email` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
php 代码:
<?php
session_start();
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true)
header("location: login.php");
exit;
?>
<?php
require_once('config/config.php');
//Counting Member
$members = "SELECT count( * ) as id FROM admin";
$member_result = $mysqli->query($members);
$total_member = mysqli_num_rows($member_result);
//Showing Admin Name
$admin_name = "SELECT `name` FROM `admin` WHERE id='1'";
$name_result = $mysqli->query($admin_name);
$name_sh = mysqli_num_rows($name_result);
//Showing Email
$admin_email = "SELECT `email` FROM `admin` WHERE id='1'";
$email_result = $mysqli->query($admin_email);
$email_sh = mysqli_num_rows($email_result);
?>
config.php
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'test1');
$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
if($mysqli === false)
die("ERROR: Could not connect. " . $mysqli->connect_error);
?>
html 代码:
<div class="account-dropdown js-dropdown">
<div class="info clearfix">
<div class="image">
<a href="#">
<img src="images/icon/avatar-01.jpg" />
</a>
</div>
<div class="content">
<h5 class="name">
<a href="#"><?php echo $name_sh; ?></a>
</h5>
<span class="email"><?php echo $email_sh; ?></span>
</div>
</div>
它只显示 1 而不是值。 提前致谢
【问题讨论】:
mysqli_num_rows
将返回 rows
的数字,并且您将其分配给您的变量 $name_sh
和 $email_sh
,这就是它显示整数值的原因
SQL 中不需要用单引号将整数文字括起来。那是字符串文字。
您可以在 1 次选择中获取两个值。
【参考方案1】:
这是因为您正在显示 mysqli_num_rows
的结果,它返回结果中的行数(因此始终等于 1)。
改用mysqli_stmt_fetch
来获取查询结果。
【讨论】:
【参考方案2】:$admin_name = "SELECT `name` FROM `admin` WHERE id='1'";
$name_result = $mysqli->query($admin_name);
$result=mysqli->fetch_array($name_result,MYSQLI_ASSOC);
【讨论】:
以上是关于无法使用 php 获取和显示数据的主要内容,如果未能解决你的问题,请参考以下文章