首页 > 解决方案 > 如何将 SQL 转换为函数

问题描述

我正在尝试使以下代码成为 php 变量。这个想法是,我可以通过为变量提供用户的 id 来获取我需要的所有用户数据。

$sql = "SELECT * FROM `users` WHERE user_id='$user_id'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while ($row = $result->fetch_assoc()) {
    $displayname = $row['user_displayname'];
  }
}

这里的“显示名称”是我想要得到的。

它在不在函数中时起作用,但在函数中不起作用。也许我做错了什么,在这里。我就是这样做的。

function get_userdetails($user_id) {

// Figure out displayname of rulechanger
$sql = "SELECT * FROM `users` WHERE user_id='$user_id'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while ($row = $result->fetch_assoc()) {
    $displayname = $row['user_displayname'];
  }
 }
}

提前致谢!

标签: php

解决方案


大概$conn是一个代表您的数据库连接的全局变量(对象)。为了在函数中访问它,您需要使用global关键字 - 在这种情况下global $conn;

$displayname如果您打算在函数之外引用它(在函数设置其值之后),您将需要执行相同的操作。可能最好的方法是简单地return $displayname从您的功能中提取。


推荐阅读