[英]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.