PHP變數直接在sql語句中使用時的疑惑

2021-08-15 06:13:14 字數 705 閱讀 8805

本意是用sql語句查詢,過程中用到了乙個php指令碼中的陣列

奇怪的是,在php指令碼中使用該陣列值的時候用的是$user['name'],中括號內帶單引號。而sql語句中直接使用該變數(不使用.進行拼接)時,卻是$user[name] 不帶單引號。

如圖:錯誤資訊:

syntax error, unexpected '' (t_encapsed_and_whitespace), expecting identifier (t_string) or variable (t_variable) or number (t_num_string) in d:\procedure\php\www\blog\login.php on line 23

經查詢,得以下三種寫法

第三種能夠達到預期效果

但是瀏覽器會報乙個notice錯誤

讓朋友幫忙在他的電腦上試過,結果與我的一樣,基本可以排除是環境orphp版本的問題。

希望能有高手指點一二,小弟將不勝感激!

答:你應該先搞清楚 constant(常量)是什麼意思

php 對於未被引號括起的字串,先檢查是否是常量,然後才解釋為字串

當乙個一維陣列元素出現在雙引號當中時:

"$ar[key]" 正確

"$ar['key']" 語法錯

"" 使用了未定義常量

"" 正確

這是 php 文法分析程式內建的評判標準,沒有為什麼!

SQL語句中使用變數作為條件。遇到NULL時怎麼寫

sql語句中使用變數作為條件。遇到null時怎麼寫。2012 10 04 14 23 提問者 jo fly 瀏覽次數 108次 sql server declare name varchar 16 null select from tablename where name name name 有可能...

SQL語句中使用VB控制項的屬性或變數

dim strsql as string strsql select 口令 from 系統使用者 where 使用者名稱 username 以上兩句話的意思即為給字串變數strsql賦值,右邊的值則是通過select語句實現。在sql語法中,字串需要用單引號 括起來,select語句應為 selec...

PHP中直接使用sql語句

select from tf user where company id 117 or other company ids like 117,or other company ids like 117,or other company ids like 117 and id 37 and statu...