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