我必須在MySQL數據庫中插入一些字符串。 問題是,我每次使用「`」或「'」時都會導致QSqlquery執行中的錯誤。 我該如何預防?將包含「`」或「'」的字符串插入數據庫表 - Qt
回答
一律執行查詢時使用綁定變量,你將永遠不會有問題在SQL查詢中使用特殊字符。這裏有一個來自documentation的例子:
QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) "
"VALUES (:id, :forename, :surname)");
query.bindValue(":id", 1001);
query.bindValue(":forename", "Bart");
query.bindValue(":surname", "Simpson");
query.exec();
'和'是在SQL註釋,你要 「保護」 他們以反斜線\像這樣
Select bla
From blo
where name = "some \`test\`"
'保護'通常被稱爲'逃避' – TimZaman
@TimZaman你是對的,但我的英語很不好,隨時編輯帖子:) –
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
在PHP
,您可以使用mysql_real_escape_string功能: http://php.net/manual/en/function.mysql-real-escape-string.php
希望會幫助你!
這是如何幫助完全? – TimZaman
您應該添加轉義序列添加這種類型的特殊字符,如'
,`
,\
,"
請他們之前加入\
添加。
例如
對於'
使用\'
對於"
使用\"
對於\
使用\\
對於`
使用\`
- 1. 插入字符串包含「/」
- 2. 包含HTML字符串的數據表
- 3. 如何插入包含「;」的字符串
- 4. 如何插入包含「&」的字符串
- 5. 拆分字符串插入數據庫
- 6. 像普通字符串插入SQL數據庫的數據庫?
- 7. 將字符插入到數據庫中
- 8. C#:如何將包含新行的字符串插入TextBox?
- 9. 搜索數據庫字符串包含字符
- 10. 如何插入包含單引號字符的字符串?
- 11. 縮短包含數據的字符串
- 12. 整數列包含字符串數據
- 13. 錯誤,字符串或二進制數據將試圖插入
- 14. 錯誤插入SQL表中蟒,因爲字符串包含%
- 15. 無法將數據插入到數據庫中的字符串或二進制數據將被截斷
- 16. Python和Django將字符串插入到數據庫中
- 17. 如何將字符串轉換爲Oracle clob插入數據庫?
- 18. 將字符串值插入數據庫C#
- 19. 拆分並將字符串插入數據庫
- 20. 如何使用PHP將長字符串插入mySQL數據庫?
- 21. 在插入數據庫之前將字符串轉換爲位
- 22. Ruby - sqlite3,將非ascii字符串插入數據庫
- 23. 用字符串限制將記錄插入數據庫?
- 24. Python:將字符串插入到Mysql數據庫中
- 25. 將基礎64字符串插入到SQL Server數據庫中
- 26. 將多行超長字符串插入到MySQL數據庫中
- 27. 將值插入包含括號/大括號的Access數據庫
- 28. 將字符串或NULL插入到SQL Server數據庫時出現問題
- 29. 如何在mongodb數據庫中插入字符串列表?
- 30. 解析包含多個JSON數據字符串的字符串
肯定你需要閱讀關於SQL注入。 mavroprovato給了你一個完美的答案。 –