表名,列名最好用`(esc下面那個,不用`會出錯)
這就要從雙引號和單引號的作用講起:
雙引號裡面的字段會經過編譯器解釋然後再當作html**輸出,但是單引號裡面的不需要解釋,直接輸出。例如:
$abc='i love u';
echo $abc //結果是:i love u
echo '$abc' //結果是:$abc
echo "$abc" //結果是:i love u
所以在對資料庫裡面的sql語句賦值的時候也要用在雙引號裡面sql="select a,b,c from ..."
但是sql語句中會有單引號把欄位名引出來
例如:select * from table where user='abc';
這裡的sql語句可以直接寫成sql="select * from table where user='abc'"
但是如果象下面:
$user='abc';
sql1="select * from table where user=' ".$user." ' ";對比一下
sql2="select * from table where user=' abc ' "
我把單引號和雙引號之間多加了點空格,希望你能看的清楚一點。
也就是把'abc' 替換為 '".$user."'都是在乙個單引號裡面的。只是把整個sql字串分割了。
sql1可以分解為以下3個部分
1:"select * from table where user=' "
2:$user
3:" ' "
字串之間用 . 來連線
eg:$sql=("select * from myguests where username=$tureusername and password=$turepassword " );
$sql=("select * from myguests where username='" .$tureusername. " ' and password='" .$turepassword. " ' " );
這兩個語句執行結果相同,只要明白在php中 . 是鏈結字元即可
mysql 單引號 Mysql單引號使用
工作中經常需要批處理資料,select 字串連線生成sql from tab 而對字串的字段,值2邊通常需要單引號,在select concat 字串1,字串2.時,給字串加單引號,目前知道的有如下方法 基於select test 給test2邊新增單引號 select test 用反斜槓轉義 se...
linux shell中雙引號,單引號,反單引號
shell中的這三個引號容易混淆。雙引號仍然可以保有變數的內容,但單引號僅能是一般字元,而不會有特殊符號 比如,如果雙引號中存在變數,則會在雙引號中將該變數在原地展開,而單引號不會將其作為變數,而是將其作為普通的字元 例 root lufubo centos kernel name lufubo r...
mysql中反單引號 單引號 雙引號的區別
反引號,一般在esc鍵的下方。它是為了區分mysql的保留字與普通字元而引入的符號。舉個例子 select select from test where select 字段值 在test表中,有個select欄位,如果不用反引號,mysql將把select視為保留字而導致出錯,所以,有mysql保留...