當前位置:首頁 » 編程語言 » phpsql單引號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

phpsql單引號

發布時間: 2022-09-08 11:39:51

❶ php中sql語句的單雙引號問題

是這樣的。雙引號里的是解析的,也就是說整個$sql里的變數先被解析了,此時的單引號起的作用是告訴php sql解析器,這是一個值,如果你不加單引號的話,會執行不成功,因為php 解析器找不到sql語句裡面的值。

❷ php 裡面的SQL語句中怎麼規范使用單引號,雙引號

$sql = "INSERT INTO `database_name`.`table_name`(`field1`, `field2`) values('$field1', '$field2')";
這樣最好了,規范,安全
'$field1' 這樣是為了防止別人使用單引號等方式注入
當然使用$field1 這樣的變數之前最好用mysql_escape_string(); 處理一下
然後再 mysql_query($sql);

❸ PHP中SQL語句中的字元串兩端為什麼要加單引號

$str_sql ="select * from tables where fileds ='".$value."'";這種寫法的好處是如果$lvaue值不存在,會把它當成'' 空字元,也不會報錯,這樣更安全。

❹ 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操作mysql資料庫時,雙引號單引號,花括弧如何運用感覺有些混亂

單引號,單引號中的內容會被直接當成一個字元串,單引號中無法輸出
變數值

$a = 'abcd';
echo '$a'; // 輸出結果就是 $a,而不是 abcd
雙引號
,雙引號中可以輸出簡單變數,不能輸出復雜變數,否則會報錯;
$a = 'abcd';
$b = array('aaa' => 'abcd');
echo "$a"; // 輸出 abcd,因為雙引號中可以解析簡單變數
echo "$b['aaa']"; // 直接報錯,因為雙引號中不能解析復雜變數
花括弧,花括弧中既可以輸出簡單變數,也可以輸出復雜變數,如數組、對象等;
$a = 'abcd';
$b = array('aaa' => 'abcd', 'bbb' => array(12,34));
echo "{$a}"; // 輸出 abcd
echo "{$b['aaa']}"; // 輸出 abcd
echo "{$b['bbb'][1]}"; // 輸出 34
所以寫的時候想偷懶就用花括弧,不會出錯;
但是在性能上,單引號的性能最好,因為單引號中的內容會直接被當成字元串,沒其他的解析;而解析雙引號的時候,會先判斷雙引號內有沒有變數,有變數就把變數用變數值代替,最後再輸出雙引號內整個的內容;花括弧就更不用說了,可以輸出復雜的變數內容。
所以一般如果項目沒有性能要求的話或者
小項
目的話,隨便怎麼用沒關系;但是大網站或者要求性能的網站就得視情況挑著用了

❻ 怎樣在PHP sql語句中傳參的時候在參數外面加上單引號

這樣寫,自己都看到頭暈。你可以這樣寫

$sql = "INSERT INTO base_object (base_type, creator, time_create, name, description, type)
VALUES (1, '$_SESSION[account][id]', NOW(), '$params[name]', '$params[description]', '$params[type]')";

這樣寫就可以了, 數據裡面的KEY可以不加單引號,避免沖突