當前碰到一個問題,在測試編輯信息內容,其中若編輯的內容包含單引號(‘)則寫入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
查閱相關資料如下所示:


經過分析后發現插入的內容中在編輯SQL語句的時候字符串被從單引號處截斷,導致語法錯誤。
解決辦法:將包含單引號的字符中的(')換成(''),就可以了。
SQL是用兩個單引號來代替一個單引號的
str = str.replace(” ‘“, ”''“);
到此這篇關于SQL中寫入包含有英文單引號“ ' ”失敗問題深入詳解的文章就介紹到這了,更多相關SQL中寫入包含有英文單引號“ ' ”失敗內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- PostgreSQL 中的單引號與雙引號用法說明
- 解決python 執行sql語句時所傳參數含有單引號的問題
- mysql語句如何插入含單引號或反斜杠的值詳解
- 使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號
- 關于Mysql查詢帶單引號及插入帶單引號字符串問題
- sql語句中單引號,雙引號的處理方法