php - 如何使用 php 只显示一个 sql 字段?
问题描述
假设我有一个带有字段的记录;数据库中的 ID、用户名和密码。如何使用 php 在不使用 while、for 或 if 循环的情况下显示第一个记录字段中的用户名?
有人可以为我写一个脚本吗?
<?php
session_start();
require_once 'config.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
$name = $_SESSION["name"];
$email = $_SESSION["email"];
?>
<?php
echo "your name is " . $name. "<br>";
echo "your email address is " . $email. "<br>";
$sql = "SELECT username FROM users LIMIT 1";
$result = mysqli_fetch_object($sql);
echo = $result->username;
?>
</body>
</html>
这是 config.php 文件
<?php
/* Database credentials. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'root');
define('DB_NAME', 'users');
/* Attempt to connect to MySQL database */
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
解决方案
将 PDO 用于准备好的语句:
$servername = "localhost";
$username = "Database Username";
$password = "Database Password";
$dbname = "Database Name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
然后运行您的 SQL 查询:
$stmt = $conn->prepare('SELECT username FROM yourTableName LIMIT 1');
$stmt->execute();
$username = $stmt->fetchAll();
echo $username[0];
//Or foreach($username as $name){echo $name;}
该代码应包含在 php 标签中<?php //the code ?>
从评论更新它显示你正在使用 MYSQLI,所以你应该使用类似的东西:
$mysqli = new mysqli("localhost", "username", "password", "DBname");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT username from users ORDER by username DESC LIMIT 1";
$result = mysqli_query($mysqli, $query);
$result = mysqli_fetch_object($result);
echo $result->username;
推荐阅读
- c++ - 有没有办法在 C++ 中“翻译”类型?
- amazon-s3 - 如何使用 AWS Java SDK 2 将文件上传到 AWS 存储桶
- java - Java:二分法
- mongodb - 在 mongodb 中另一个数组内的数组内添加文档
- mongodb - 如何在仅包含Mongodb中日期的数组中获取与时间段条件匹配的所有元素
- r - 如何使用 rvest 和 httr 在同一个会话中多次发布请求?
- javascript - 如何从文本框中更改 window.setInterval(function(){ 值并提交按钮
- visual-studio-code - 如何更改 Visual Studio Code 在 Windows 上格式化代码的方式
- ruby-on-rails - 如何创建一个可以生成无限数量的唯一 URL 的 Ruby 脚本,即。myurl.com/1、myurl.com/2 等等……?
- javascript - React flexbox 元素不适应宽度