php提交表單內容有單引號,mysql執行時遇見錯誤的解決方法。
首先看一下問題所在。
"INSERT INTO tg_article(
tg_username,
tg_type,
tg_title,
tg_content,
tg_date
)
VALUES(
'{$_clean['username']}',
'{$_clean['type']}',
'{$_clean['title']}',
'{$_clean['content']}',
NOW()
)
"
大家會發現黨要提交的內容還有單引號的時候,value是裡面就會出現單引號套單引號,這是明顯的錯誤,這也是在網站開發中經常遇到的現象和易忽略的問題。接下來給大家講怎麼解決。
1. 對於magic_quotes_gpc=on的情況,
我們可以不對輸入和輸出資料庫的字串資料作
addslashes()和stripslashes()的操作,資料也會正常顯示。
如果此時你對輸入的資料作了addslashes()處理,
那麼在輸出的時候就必須使用stripslashes()去掉多餘的反斜槓。
2. 對於magic_quotes_gpc=off 的情況
必須使用addslashes()對輸入資料進行處理,但並不需要使用stripslashes()格式化輸出
因為addslashes()並未將反斜槓一起寫入資料庫,只是幫助mysql完成了sql語句的執行。
建立一個轉義函式,並對內容轉義
function _mysql_string($_string){ //get_magic_quotes_gpc()如果開啟狀態就不用轉義,否則要z轉義 // if(!GPC){ // return @mysql_escape_string($_string); // }else{ //return $_string; // } if(GPC){ if(is_array($_string)){ foreach ($_string as $_key=>$_value){ $_string[$_key] = _mysql_string($_value); $_string[$_key] = addslashes($_string[$_key]); } }else{ $_string = @mysql_real_escape_string($_string); } } return $_string; }
//接受內容
$_clean = array();
$_clean['username'] = $_COOKIE['username'];
$_clean['type'] = $_POST['type'];
$_clean['title'] = $_POST['title'];
$_clean['content'] = $_POST['content'];
_mysql_string($_clean);
相關推薦
php提交表單內容有單引號,mysql執行時遇見錯誤的解決方法。
首先看一下問題所在。 "INSERT INTO tg_article( tg_username, tg_typ
laravel框架學習(三)win下php artisan tinker 測試資料時,無法執行報錯的解決方法
問題描述: 複製該路徑,在資源管理器的位址列中開啟,會看到 如下: Temp 往往是系統或者其他軟體生成的快取檔案或目錄 需要返回到上一級目錄Temp中,全選資料夾,刪除,提示不允許刪除的話,
PHP中if(isset($_POST['Submit']))是什麼意思,php提交表單時判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區別
isset -- 檢測變數是否設定 判斷post過來的資料是否被提交過來,if(isset($_POST["submit"]){ echo "提交過來了"; }else { echo "submit is no come~"; } if(isset($_
PHP提交表單,提交到其它頁面和提交到本身
二種提交方式,提交到其它頁面和提交到本身見程式碼: <!DOCTYPE html> <html> <title>表單提交開始</title> &nb
PHP提交表單失敗後如何保留填寫的資訊
index.html模板檔案大內容: <html> <head> <title>jQuery Ajax 例項演示</title> </head> <script src="./js/jquery.js" ty
解決 php提交表單到當前頁面,重新整理會重複提交 的問題
下午有一個朋友問我這個問題,其實解決辦法很簡單: 只需要在表單裡生成一個token(隨機字串),然後用個input裝起來,設定hidden。第一次post處理完資料後把token存入session,接下來每次post判斷一下token跟session中的一不一樣,一樣則說明
js的form表單提交url傳參數(包含+等特殊字符)的解決方法
字符 www. mit function form表單提交 sub win tno wiki 方法一:(偽裝form表單提交) linkredwin = function(A,B,C,D,E,F,G){ var formredwin = document.cr
jsp頁面表單提交,controller接收亂碼,數據庫亂碼等解決方法
ren ping redirect etc 打開數據庫 解決方法 ews web ext 1.web項目出現亂碼問題 做web項目的時候,多多少少會出現中文亂碼問題。 對於jsp頁面表單提交,controller接收亂碼,保存到數據庫中文亂碼等問題,統一給出幾種亂碼的解決
[Spring MVC] 表單提交日期轉換問題,比如可能導致封裝實體類時400錯誤
new tac med tab mat -m bin Edito ack 三種格式的InitBinder @InitBinder//https://stackoverflow.com/questions/20616319/the-request-sent-by-the
MySQL單表已使用索引但查詢大資料結果時慢的解決辦法
目前做的專案使用MySQL資料庫,其中有張表包含近1000萬條記錄,表結構如下: Field Type Comment id int(11) NOT NULL 主鍵(PK) year int(4) NULL
Java鄰接表表示加權有向圖,附dijkstra最短路徑演算法
圖這種adt(abstract data type)及相關的演算法,之前一直是我未曾涉足過的領域。 主要是作為一個小測試,在平常的工作中也用不著,就算面試,至今也未曾碰到過相關考題。 但是前幾天,原公司的小美女談到面試過程中就碰到一題: 從A到B,有多條路線,要找出最短路
C# WinForm 程式單例項執行,再次執行時啟用前一個例項
一個簡單的小程式,演示了winform程式如何執行單例項。當有例項執行時,再次單擊,會啟用第一個例項。 附主要原始碼: Program.cs using System; using System.Collections.Generic; using System.Linq
型別化(Type)的DataSet (使用強型別的DataSet。定義的資料庫表一定要有主鍵,否則不能使用)
使用強型別的DataSet的時候一定要設定主鍵,假如說你在拖一個表到資料集來建立強型別DataSet的時候 而那個表又沒有設定主鍵 那麼你只有在資料集裡把你拖入的那個表刪除,重新拖入。或者點選你拖入到資料集的那個表,把滑鼠移動到 "表名+TableAdapter"欄 其實也
web_reg_save_param 左右邊界中有雙引號,正確寫法
關聯相關指令碼: <input type="hidden" name='did' id='did' value="415" /> 現在要通過關聯取得value裡面的值,如415; 所寫的指令碼1: web_reg_save_param("did",
水晶報表 Crystal Report 調用存儲過程時出錯 找不到表 ,解決方法。
top app net amp lean local database sep asp.net 用 CrystalReportViewer1 控件在asp.net的網頁上顯示報表,假設做報表時調用數據表數據的方式調用是能夠成功的。但報表是用存儲過程獲
編譯安裝PHP 時遇到問題解決方法.
tro 沒有 stat xmlrpc 編譯安裝 錯誤 clas jpeg libiconv 編譯安裝PHP時出現下面的錯誤代碼: error 2 checking for pkg-config... /usr/bin/pkg-config configure: erro
SpringMVC提交數據遭遇基礎類型和日期類型報400錯誤解決方法
筆記 運行 inpu 遭遇 imp public 增加 試用 too 使用SpringMVC開發的時候,頁面如果有日期格式的數據,後臺接受也是java.util.Date,則報告400錯誤 。下面是解決方案的演示示例: 這個是實體類,裏面createDate就是ja
PHP編譯安裝時常見錯誤解決辦法
containe -c libmcrypt led form vpx char win sta PHP編譯安裝時常見錯誤解決辦法 This article is post on https://coderwall.com/p/ggmpfa configur
解決php工具箱(phpStudy)Apache啟動成功,MySql無法啟動的問題
php工具箱 mysql無法啟動 今天花了兩個多小時的時間給別人搗鼓php工具箱,自己都很驚訝。 由於xampp中的不太適合新手剛開始學php使用,所以我給她安裝了php工具箱,這是個可以切換版本的軟件,我很推薦,而且不需要配置! 不過很讓人頭疼的是Apache正常啟動,,MySql就是無法啟動,百度
網站內容不被百度收錄的原因反思及解決方法!
網站優化 seo 網頁收錄 大發跡創業項目網有個網站百度已經沒有一個月收錄,站長也是著急,於是想著應該怎麽解決這個問題。其實網站出了問題,站長應該是最清楚的,所以不要急,仔細回想一下最近操作了什麽,然後一個一個去排查就可以找出問題所在,對癥下藥就ok了。比如我的這個網站,想要找出問題所在就很簡單。