MySql資料庫 查詢 插入資料時轉義函式的使用

2022-08-16 22:24:20 字數 862 閱讀 8059

疑惑一:當轉義資料後,資料中會增加一些反斜槓,為了能查詢出對應的資料,那麼原來存在資料庫中的資料是不是也已經被儲存成含有反斜槓的了?

疑惑二:轉義資料後再向資料庫中插入資料,儲存在資料庫中的資料是否會含有過濾後的反斜槓?

帶著這些疑問對使用者提交的表單進行測試。

echo get_magic_quotes_gpc();  // 獲取當前 magic_quotes_gpc的配置選項設定,如果開啟了就會返回1,否則返回0

$title = $_post['title'];

$sql = insert into news(`title`) values('". $title ."');

如果不適用mysql_real_escape_string()轉義函式,當接收的資料中包含單引號時就會引起sql錯誤。

$title = mysql_real_escape_string($_post['title']);  

轉義過後再進行插入資料就不會出現上面的問題,而且插入到資料庫中的資料和輸入時的一樣,不會帶有轉義時增加的反斜槓。

當查詢資料時,也是按照輸入時的內容與資料庫進行比較,也能查詢出相應的結果。

由此推論,mysql_real_escape_string()轉義函式只在sql語句執行的過程中起到保護作用,並不會對結果產生影響。

將過濾函式貼出來。

1

function check_input($value)2

8//如果不是數字則加引號

9if (!is_numeric($value

))10

13return

$value

;14 }

以上是自己的理解,與大家分享,如果有誤還請大家批評指正。

向MySQL資料庫插入中文時亂碼

在做web開發時 本人用jsp做開發,資料庫用的mysql,其他開發方式可能稍有不同,但原理是一樣的 向資料庫中插入中文時出現亂碼現象。這個現象跟很多環節有關係,但最根本的是要選擇一種支援中文的編碼,且各個地方的編碼都要保持一致。這些地方主要包括資料庫的編碼,jsp頁面 請求的編碼,資料庫連線時的編...

JDBC連線mysql資料庫查詢資料時遇到的bug

記錄一下今天jdbc連線資料庫查詢資料時遇到的問題 查詢的核心 如下 list users newarraylist user user1 newuser while rs.next return users 然後控制台是沒有報錯的,但是我得到的結果卻是有問題的,結果如下 這顯然是有問題的啊,於是我...

mysql資料庫查詢作業 mysql資料庫查詢練習

建立四張資料表 學生表student 學號,姓名,性別,出生年月日,所在班級 課程表course 課程號,課程名,教師編號 成績表score 學號,課程號,成績 教師表teacher 教師編號,教師名,教師性別,出生年月日,職稱,所在部門 新增資訊 學生表 insert into student v...