SQL中寫入包含有英文單引號“ '' ”失敗問題深入詳解
當前碰到一個問題,在測試編輯信息內容,其中若編輯的內容包含單引號(‘)則寫入Mysql數據庫時寫入失敗,使用如下代碼進行錯誤打印:
if (!this->m_sql_query.prepare(update_string)) { printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str()); } if (!this->m_sql_query.exec()) { printf(“exec fail—>%s\n”, this->m_sql_query.lastError().text().toStdString().c_str()); }
打印出的結果為:exec fail—>syntax error unable to execute statement
查閱相關資料如下所示:
經過分析后發(fā)現插入的內容中在編輯SQL語句的時候字符串被從單引號處截斷,導致語法錯誤。
解決辦法:將包含單引號的字符中的(')換成(''),就可以了。
SQL是用兩個單引號來代替一個單引號的
str = str.replace(” ‘“, ”''“);
到此這篇關于SQL中寫入包含有英文單引號“ ' ”失敗問題深入詳解的文章就介紹到這了,更多相關SQL中寫入包含有英文單引號“ ' ”失敗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決mySQL中1862(phpmyadmin)/1820(mysql)錯誤的方法
最近在工作中發(fā)現一直在運行的mysql突然報錯了,錯誤提示1820,phpmyadmin也不能登陸,錯誤為1862,雖然摸不著頭腦但只能想辦法解決,下面這篇文章給大家分享了解決這個問題的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12Navicat中新建MySQL數據庫與新建、修改、刪除數據表及刪除數據庫詳細操作方法
Navicat是一套快速、可靠并價格相當便宜的數據庫管理工具,專為簡化數據庫的管理及降低系統(tǒng)管理成本而設,這篇文章主要給大家介紹了關于Navicat中新建MySQL數據庫與新建、修改、刪除數據表及刪除數據庫詳細操作的相關資料,需要的朋友可以參考下2023-11-11Mysql數據庫使用concat函數執(zhí)行SQL注入查詢
這篇文章主要介紹了Mysql數據庫使用concat函數執(zhí)行SQL注入查詢,concat函數在SQL注入查詢中會有意想不到的作用,本文就起講解它的使用,需要的朋友可以參考下2015-04-04