當前位置:首頁 » 編程語言 » phpmysql單引號

phpmysql單引號

發布時間: 2022-07-06 07:32:50

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和mysql有關引號的問題

insert語句是資料庫的語法,mysql_query是php的語法,兩者是不能混為一談的。而且mysql_query是php的函數,$d是變數。把變數丟給mysql_query函數去執行,是不需要加什麼引號的。這是各自的編程語法所決定的。

Ⅲ php mysql中創建表錯誤,單引號'要改成`

那個是資料庫特別用來標識表名欄位的符號.有什麼區別?請問有什麼相同呢?本來就是不一樣的東西.你問我汽車和筆記本有什麼區別.我真答不上來

Ⅳ 怎麼向MySQL資料庫插入單引號或雙引號

--mysql值中需要單引號使用「'」

insert into mytable(text) values('I'm Sail!');

Ⅳ php 加單引號後 就報MYSQL錯誤! 求解!

SELECT G.groupname,G.groupid,G.des,G.groupimg FROM dede_group_user AS U LEFT JOIN dede_groups AS G ON U.gid=G.groupid WHERE U.uid IN(2) AND U.isjoin=1 AND U.gid<>1\' LIMIT 0,6

/group/bbs.php?id=1' 這里多了一單引號,因為這里多了這個單引號,你的程序獲取參數id時會將這個單引號一同獲取到,所以,在放入你的sql語句中式,多了一個單引號,所以執行sql語句時會發生語法錯誤。
所以,在將獲取到得變數放入sql語句中式,最好做一下處理,即:如果id是整形的話,最好轉為整形在放入,同時也可以防止sql注入的發生。

Ⅵ 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中引號的用法

{$var}
sql語句里沒有這樣的用法
'$var'
使用單引號,一般是在這樣的情況下"select * from user where user_name like '%$name%'"

使用雙引號
"$id"會被理解為變數但是雙引號之間要用.這個符號連接
一般說來在sql語句中變數不需要用任何符號
$sql="select * from biaoming where id=$id and name=$name";
就可以了
但是注意 如果變數是一個數組的值 那麼應該這樣
$sql="select * from biaoming where id=$id and name=$name[myname]";
$name[myname] 這里的myname不應該使用任何引號包圍

Ⅷ php正則表達式 向mysql 插入單引號問題

不用正則過濾,入庫前用addslashes -- 添加反斜線引用字元串,該字元串為了資料庫查詢語句等的需要在某些字元前加上了反斜線。如:單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字元)。

代碼:
if (!get_magic_quotes_gpc()){
$str=addslashes($str);
}
處理過的$str就可以安全入庫了。再不會出現插入時導致sql語句錯誤。

Ⅸ php的mysql語句里變數加不加單引號問題

確切的說,那是sql語句,與是不是php沒有直接絕對關系(sql語句的一門單獨的語言,用於對資料庫的一些操作,Acc、sql server、mysql等資料庫的sql語句基本都一樣,只是每種資料庫的sql語句,有少許差別)
也就是sql語句的語法
sql語句中,欄位的值和欄位類型要相互對應
比如:數據表中有一個欄位A,他的類型是(int、bigint等)數字類型
那麼: A = '12'這樣寫是錯誤的,因為數字類型欄位,不能插入或者賦值字元串類型的值
而如果A欄位是文本類型等欄位,則文本數字都可以插入
語法中,加引號,就表示所提供的值就字元串文本類型,不加則表示是數字類型

Ⅹ 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
所以寫的時候想偷懶就用花括弧,不會出錯;
但是在性能上,單引號的性能最好,因為單引號中的內容會直接被當成字元串,沒其他的解析;而解析雙引號的時候,會先判斷雙引號內有沒有變數,有變數就把變數用變數值代替,最後再輸出雙引號內整個的內容;花括弧就更不用說了,可以輸出復雜的變數內容。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:433
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:744
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:147
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:240
java駝峰 發布:2025-02-02 09:13:26 瀏覽:652
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726