gpt4 book ai didi

php - 添加第二个 WHERE 子句或使用 PHP 解析结果?

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:13 25 4
gpt4 key购买 nike

我的代码提取报告的详细信息,但我只希望在该特定报告与试图查看它的用户相关联时显示详细信息。我想知道向查询添加第二个 WHERE 子句是否更有效/更合适,或者我是否应该只使用 PHP 检查关联的用户 ID?我更喜欢后者,因为它更容易让管理员访问所有记录。

<?php
$query = mysql_query("SELECT report_id, report_user, report_text
FROM reports
WHERE report_id = '$rid'
AND report_user = '$uid'");

$report = mysql_fetch_assoc($query);
?>

<?php
$query = mysql_query("SELECT report_id, report_user, report_text
FROM reports
WHERE report_id = '$rid'");

$report = mysql_fetch_assoc($query);
if ($report['user'] !== $uid) {
// Access Denied
}
?>

提前致谢!比利

最佳答案

我认为您应该在查询选项中进行过滤。如果您的 php 代码中有一些错误,它会更有效并且可以更好地保护用户隐私。关于管理员查看报告的能力,您可以动态设计查询。

$sql = "SELECT report_id, report_user, report_text
FROM reports
WHERE report_id = ?";
if($userContext)
{

$sql .= " AND report_user = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('dd', $rid, $uid);
}
else //admin context
{
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('d', $rid);
}

无论你做什么,都要确保绑定(bind)你的变量。

关于php - 添加第二个 WHERE 子句或使用 PHP 解析结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com