① php語言中sql語句裡面變數為什麼需要一個單引號和一個雙引號啊
單引號是SQL要求激滑的,假設你的$username變數值是ABC,加上單引號後實際逗燃執行的SQL就是:
....where username='ABC'
這樣就是正確的SQL語句,如果不明指臘加上單引號的SQL就是:
....where username=ABC
看見差別了沒有,在SQL的查詢工具裡面執行以下SQL語句就知道了
另外,那個雙引號,是兩個字元串的連接,並沒有進入到SQL語句
② sql語句什麼時候加引號
明顯不對。x0dx0aselect...是sql語句。x0dx0a$_post...是php語句。x0dx0ax0dx0a如果嫌賀返你寫的是sql語句,那就不能有$_post[]x0dx0a如果你寫的是php語句,那就應該把其中的sql語句部分作為一般的字元串處理:x0dx0a$sql="select*fromawhere`name`=";x0dx0a$sql.=$_post['name'];x0dx0a然後再用php的sqllibrary的function來運行這個字元串$sqlx0dx0ax0dx0a在純sql語句中,如愛老婆所說,欄位名加`或者什麼也不加;字元類型的數值加單引號芹飢。x0dx0a在php語句中,由於sql部分被認為是字元串,所以要加單/雙引號。但因為sql語句中,本身可能包含單引號,所以為了分辨,必須用雙引號。x0dx0a而$_post['name']的意思是,php在載入頁面的時候,把所有用html的post方法得到的變數都放入了一個叫_post的數組中。$_post['name']就是調用_post數組中,名稱為字元串name的那個變數的值。拍衫
③ php中sql語句的單雙引號問題
是這樣的。雙引號里的是解析的,也就是說整個$sql里的變數先被解析了,此時的單引號起的作用是告訴php sql解析器,這是一個值,如果你不加單引號的話,會執行不成功,因為php 解析器找不到sql語句裡面的值。
④ php語言中sql語句裡面變數為什麼需要一個單引號和一個雙引號啊
loginname
指的就是一個變數名<與資料庫里的欄位匹配>,
而'"+login1.username+"此正'
就是你輸入的值,
假如只有單引號,系統會認為變數凳宴就是login1.username,
而這個值是固定的,然而我們需要的森粗悔是一個變數,
所以就得再加一個雙引號,
至於
『+』
就是連接字元串的意思、、、
⑤ php 裡面的SQL語句中怎麼規范使用單引號,雙引號
$sql = "INSERT INTO `database_name`.`table_name`(`field1`, `field2`) values('$field1', '$field2')";
這樣最好了,規范,安全
'$field1' 這樣是為了防止別人使用單引號等方式注入
當然使用$field1 這樣的變數之前最好用mysql_escape_string(); 處理一下
然後再 mysql_query($sql);
⑥ php中sql語句的單引號雙引號用法,很費解,請給講解一下
$sql="INSERTINTO旅談鄭Persons(FirstName,LastName,Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
單引號表示字元串啊,sql語句里字元串都是要單引號的,至於外面的雙引號只是為了內部的侍逗函數執行做鋪墊的。
$a=1;
echo'$a';=>$a
echo"$a"=>拆頌1
現在明白了么;
⑦ php 單引號和雙引號的區別
1、變數。雙引號解釋變數,單引號不解釋變數;雙引號里插入單引號,其中單引號里如果有變數的話,變數解釋;
2、字元。雙引號解釋轉義字元,單舉州引號不解釋轉義字元,但是解釋'和;
3、效率。能使單引號字元盡量使用單引號,單引號的效率比雙引號要高(因為禪答梁雙引號要先遍歷一遍,判斷裡面有沒有變數,然後再進行操作,而單引號則不需要判斷)。
(7)phpsql單引號雙引號擴展閱讀:
一般情況下兩者是通用的。但雙引號內部變數會解析,而單引號則不解析。
PHP允許我們在雙引號串中直接包含字串變數。
而單引號串中的內容總被認為是普通字元賀運,因此單引號中的內容不會被轉義效率更高。
比如:
$str = 'hello world';
echo "str is $str"; //運行結果: str is hello world
echo 'str is $str'; //運行結果: str is $str
⑧ mysql+php程序中sql語句中的引號使用方法,什麼時候用雙引號什麼時候用單引號
這就要從雙引號和單引號的作用講起:
雙引號裡面的欄位會經過編譯器解釋然後再當作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:" ' "
字元串之間用 . 來連接,這樣能明白了吧。
⑨ php單引號和雙引號的區別與用法
php中單引號的執行效率是大於雙引號的,所以推薦脊仔迅使用單引號。
在一些特殊的情況下也可以櫻此使用雙引號,比如SQL語句中:
$sql="select*fromtable_namewhereid=戚悉'$id'";
⑩ php操作MySQL中單引號與怎麼處理
花括弧,花括弧中既可以輸出簡單變數,也可以輸出復雜變數,如數組、對象等;
1.$a = 'abcd';2.$b = array('aaa' => 'abcd', 'bbb' => array(12,34));3.echo "{$a}"; // 輸出 abcd4.echo "{$b['aaa']}"; // 輸出 abcd5.echo "{$b['bbb'][1]}"; // 輸出 34
所以寫的時候想偷懶就用花括弧,不會出錯;
但是在性能上,單引號的性能最好,因為單引號中的內容會直接被當成字元串,沒其他的解析;而解析雙引號的時候,會先判斷雙引號內有沒有變數,有變數就把變數用變數值代替,最後再輸出雙引號內整個的內容;花括弧就更不用說了,可以輸出復雜的變數內容。