首页 > 解决方案 > 如何使用 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());
}
?>

标签: phpsql

解决方案


将 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;

推荐阅读