php - 如何将 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'];
}
}
}
提前致谢!
解决方案
大概$conn
是一个代表您的数据库连接的全局变量(对象)。为了在函数中访问它,您需要使用global
关键字 - 在这种情况下global $conn;
$displayname
如果您打算在函数之外引用它(在函数设置其值之后),您将需要执行相同的操作。可能最好的方法是简单地return $displayname
从您的功能中提取。
推荐阅读
- javascript - 使用 Dropzone.js 将文件作为二进制文件上传
- linux - 用于 wxWidgets 的 GdkWindow
- ios - CoreData 上下文在大数据集上保存糟糕的性能
- flutter - 检查类型类列表中的值
- amazon-web-services - 如何仅针对某些 IP 地址在 Kubernetes 中公开 tcp 服务?
- r - 如何将单热编码变量转换为 R 中的单个因素
- flutter - 颤振:使用 Float64List Matrix4 转换 CustomPaint 中的路径
- python - Python 和 C# TcpListener - 无法建立连接,因为目标机器主动拒绝它
- python - 在不平衡的数据集上使用 KNN 时,为什么设置 score='recall' 会将我的所有概率都变成二进制?
- angular - Angular 10匹配器孩子没有显示孩子