簡體   English   中英

使用PHP將會話變量添加到MYSQL查詢中

[英]Adding session variable into MYSQL query using PHP

我試圖將兩個變量傳遞給一個mysql查詢,並在下面傳遞會話變量時遇到困難:

$check = mysql_query("SELECT * 
                      FROM Clients 
                      WHERE Username = '$new_username' 
                      AND Username != '$_SESSION['Username']'") or die(mysql_error()); 

有小費嗎? 提前致謝。

這是因為你的單引號'$_SESSION['Username']'已經被會話中的值結束了。 將此更改為'" . $_SESSION['Username'] . "'將解決問題。

這將工作,但這非常,非常糟糕

$check = mysql_query("
    SELECT * 
    FROM  Clients 
    WHERE Username = '$new_username' 
    AND   Username != '{$_SESSION['Username']}'
") or die(mysql_error());

這也是可行的,也是推薦的做法:

$check = mysql_query("
    SELECT * 
    FROM  Clients 
    WHERE Username  = '" . mysql_real_escape_string($new_username) . "' 
    AND   Username <> '" . mysql_real_escape_string($_SESSION['Username']) . "'
") or die(mysql_error());

為什么沒有人說“text text $ array [key] text”語法?

SELECT * 
FROM  Clients 
WHERE Username = '$new_username' 
AND   Username != '$_SESSION[Username]'

將數組嵌入到字符串中時,必須通過連接它們或使用花括號來分隔它們。

$string = "text text {$array['key']} text";

要么

$string = "text text " . $array['key'] . " text";

暫無
暫無

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

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