簡體   English   中英

如何解決MySQL中的條目?

[英]How to solve entry in MySQL?

我已經嘗試過以下php代碼:

echo $_SESSION['user_id']."<br />\n";
$sql = "UPDATE user_passwords SET status ='off' WHERE users_id = 'user_id'";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

html中的輸出通知:

161 // Nr. user from users
Record updated successfully

但是在MySQL中沒有記錄。...當我像這樣修改php時:

echo $_SESSION['user_id']."<br />\n";
$sql = "UPDATE user_passwords SET status ='off' WHERE users_id ='161'";
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

html中的輸出通知:

161 // Nr. user from users
Record updated successfully

在MySQL中一切正常。

哪里可能錯了?

$ sql =“ UPDATE user_passwords SET status ='off'WHERE users_id =' user_id '”;

在第一次嘗試中,您嘗試使用字符串'user_id'作為用戶的ID。 您應該改用$_SESSION['user_id']或定義一個php變量:

$user_id = $_SESSION['user_id'];

然后可以使用哪一個,但是前綴$user_id “ $”,因此$user_id

另外:如果期望變量為整數,則不應在SQL中使用撇號。 Plus2:處理$ _SESSION,$ _ GET和$ _POST變量時,應使用mysqli_real_escape_string

您的錯誤在這里,在WHERE users_id = 'user_id'";

它應該是您的會話變量,而不是該user_id

<?php

echo $_SESSION['user_id']."<br />\n";

$sql = "UPDATE user_passwords SET status ='off' WHERE users_id = '".$_SESSION['user_id']."'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}

?>

注意:使用准備好的陳述。 防止SQL注入。

您在sql字符串中錯誤地傳遞了變量,

$sql = "UPDATE user_passwords SET status ='off' WHERE users_id = 'user_id'";
                                                                  ^

在上面的字符串中,您沒有帶變量名的$符號,該符號沒有找到您應使用的正確用戶ID。

$sql = "UPDATE user_passwords SET status ='off' WHERE users_id = '$user_id'";

在更新查詢中, “ user_id”的作用類似於一個值,而不是包含會話用戶ID的變量 這就是為什么它不起作用。

這樣嘗試

$user_id = $_SESSION['user_id'];
$sql = "UPDATE user_passwords SET status ='off' WHERE users_id = '$user_id'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM