簡體   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