繁体   English   中英

如何在SQL查询中获取特定ID

[英]How to get specific ID in SQL Query

我试图回显特定用户信息的内容。 我目前正在使用

$sql = "SELECT treatment_log.tech,treatment_log.comments FROM customers LEFT OUTER JOIN treatment_log ON customers.id=treatment_fk WHERE customers.id = 12";

数字12将仅回显ID#12的患者内容。我将如何回显任何用户信息的内容。 换句话说,我也想分别回应用户13,14,15等的内容。 我必须将“ 12”代替“获取”正在查看的当前用户的ID。

我目前可以通过输入以下内容使用PHP进行此操作:

$_GET['customer_id']

首先,将customer_id保留在变量中。 请记住,绝对不要将GET与任何敏感数据一起使用。 但是,按照您的要求,也许您已经意识到这一点。 如下所示:

$cid = $_GET['customer_id'];

然后使用?编写sql查询如下 代替12

$sql = "SELECT treatment_log.tech,treatment_log.time,treatment_log.date,treatment_log.titration_parameter,treatment_log.pain,treatment_log.bdi,treatment_log.suicidality,treatment_log.comments FROM customers LEFT OUTER JOIN treatment_log ON customers.id=treatment_fk WHERE customers.id = ?";

然后执行以下操作:

$stmt = mysqli_stmt_init($conn);
mysqli_stmt_prepare($stmt, $sql);
mysqli_stmt_bind_param($stmt, "s", $cid);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

要了解上述每一行,请阅读mysqli_stmt_init()mysqli_stmt_prepare()mysqli_stmt_bind_param()mysqli_stmt_execute()mysqli_stmt_get_result()的官方手册

最后,要获得结果,请使用如下所示的内容:

$resultCheck = mysqli_num_rows($result);
if($resultCheck > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: ". $row["tech"]. " " . $row["time"]." " . $row["date"]." " . $row["titration_parameter"]." " . $row["bdi"]." " . $row["suicidality"]." " . $row["comments"]. "<br>";
    }
}
else {
    echo "0 results";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM