phpmysql轉義
A. php mysql_real_escape_string函數用法與實例教程
轉義特殊字元在unescaped_string,考慮到當前字元的連接設置,以便它在的地方是安全的在mysql_query()它。如果二進制數據要插入,這個函數必須被使用
下列字元受影響:
\x00
\n
\r
\
'
"
\x1a
如果成功,則該函數返回被轉義的字元串。如果失敗,則返回
false。
語法mysql_real_escape_string(string,connection)
參數
描述
string
必需。規定要轉義的字元串。
connection
可選。規定
MySQL
連接。如果未規定,則使用上一個連接。
說明
本函數將
string
中的特殊字元轉義,並考慮到連接的當前字元集,因此可以安全用於
mysql_query()。
提示和注釋
提示:可使用本函數來預防資料庫攻擊。
例子
例子
1
復制代碼
代碼如下:
<?php
$con
=
mysql_connect("localhost",
"hello",
"321");
if
(!$con)
{
die('Could
not
connect:
'
.
mysql_error());
}
//
獲得用戶名和密碼的代碼
//
轉義用戶名和密碼,以便在
SQL
中使用
$user
=
mysql_real_escape_string($user);
$pwd
=
mysql_real_escape_string($pwd);
$sql
=
"SELECT
*
FROM
users
WHERE
user='"
.
$user
.
"'
AND
password='"
.
$pwd
.
"'"
//
更多代碼
mysql_close($con);
?>
B. php轉義函數htmlspecialchars和mysql_real_escape_string區別在哪裡可以同時使用嗎會不會起沖突
內容:
一般htmlspecialchars用於過濾普通文本內容的,而mysql_real_escape_string則是用於過濾查詢語句sql字元串中的非法字元的(如:單引號等)
日期:2015年10月22日 18:15:01
C. php原樣輸出mysql內容
php中輸出mysql的內容如果還有特殊字元需要轉義處理:
php中操作dom的轉義:
htmlspecialchars() 函數把一些預定義的字元轉換為 HTML 實體。
預定義的字元是:
& (和號) 成為 &
" (雙引號) 成為 "
' (單引號) 成為 '
< (小於) 成為 <
> (大於) 成為 >
D. 求問,php+mysql,對請求參數進行哪些過濾能完全防止sql注入,轉義有效么
如果您通過網頁獲取用戶輸入的數據並將其插入一個MySQL資料庫,那麼就有可能發生SQL注入安全的問題。
本章節將為大家介紹如何防止SQL注入,並通過腳本來過濾SQL中注入的字元。
E. 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
所以寫的時候想偷懶就用花括弧,不會出錯;
但是在性能上,單引號的性能最好,因為單引號中的內容會直接被當成字元串,沒其他的解析;而解析雙引號的時候,會先判斷雙引號內有沒有變數,有變數就把變數用變數值代替,最後再輸出雙引號內整個的內容;花括弧就更不用說了,可以輸出復雜的變數內容。
F. 在學PHP,請問什麼情況下要用mysql_real_escape_string轉義我知道用戶名要用,但是密碼要用嗎
要用的呀,mysql_real_escape_string的用處就是對SQL注入進行過濾,任何用戶輸入的內容都是不可信任的,包括$_POST、$_GET、$_SESSION、$_COOKIE。
當你的SQL語句用到這幾個變數的時候,都要進行防SQL注入處理的,確定是數字的就加intval轉化,不確定的就用mysql_real_escape_string進行處理,這樣才可以說的上比較安全。
G. php!急!!轉義 <php echo mysql_real_escape_string('我是」老師'); > 運行時沒有任何輸出。
用這個方法需要連接資料庫的
<?php
$conn = @mysql_connect('localhost','root','',0) or die(mysql_error());
echo mysql_real_escape_string('我是"老師',$conn);
?>
H. PHP 執行sql語句時需要對獲取的數據轉義以防止sql注入,然後存儲到mysql的是轉義前的還是後的
轉義後的
-------
對資料庫操作前,最好對數據都進行一下過濾
I. php+mysql如何不轉義原樣婺諶
首先下載與當前php運行環境相同的源碼包,解壓後,進入到ext/mysql
執行/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql --with-zlib-dir=/usr
報錯如下:
checking for mysql_close in -lmysqlclient… no
checking for mysql_error in -lmysqlclient… no
configure: error: mysql configure failed. Please check config.log for more information.
出現這個錯誤,是因為php在進行配置時,默認讀取的mysql的庫文件目錄為/usr/lib/mysql,但是操作系統為x86_64,所以應該讓其讀取/usr/lib64/mysql目錄。