我已經使用的NodeJS和mysql一個簡單的查詢。的問題是每當用戶輸入含有任何單引號發生錯誤的產品詳情。我如何更換或刪除此類錯誤。如何更換所有的單引號」的MySQL查詢
0
A
回答
1
node-mysql
這是一個很好的圖書館,汽車逃生查詢值檢查出來https://github.com/mysqljs/mysql#escaping-query-values
0
對於要擺脫查詢值我的理解,當你執行mysql
操作我不知道你正在使用的mysql
驅動程序,但我會建議一些與mysql的node.js驅動程序解決方案。
在此的mysql的NodeJS驅動內置機制轉義查詢values.In爲了避免SQL注入攻擊,你應該總是使用它的SQL查詢中之前流出的任何用戶提供的數據。你可以這樣做使用mysql.escape()
,connection.escape()
或pool.escape()
方法:
注意轉義值的這些方法時 NO_BACKSLASH_ESCAPES SQL模式被禁止(這是默認狀態 爲MySQL服務器)纔有效。
var userId = 'some user provided value';
var sql = 'SELECT * FROM users WHERE id = ' + connection.escape(userId);
connection.query(sql, function (error, results, fields) {
if (error) throw error;
// ...
});
或者,你可以使用嗎?字符佔位符值,你想逃脫這樣的:
connection.query('SELECT * FROM users WHERE id = ?', [userId], function (error, results, fields) {
if (error) throw error;
// ...
});
多個佔位符映射到值相同的順序通過。例如,在下面的查詢FOO等於,bar
等於B,baz
等於c和ID將userId
:
connection.query('UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?', ['a', 'b', 'c', userId], function (error, results, fields) {
if (error) throw error;
// ...
});
這類似於在MySQL準備好的語句,但它真的只是使用相同的connection.escape()
方法internal.I希望這會幫助你。
0
您必須使用escape
函數轉義documentation of mysql for nodejs中報告的輸入值。
相關問題
- 1. 如何使用mysql替換所有雙引號替換爲單引號?
- 2. php post:用sqlserver查詢替換單雙引號的單引號
- 3. mysql查詢引號
- 4. 試圖逃脫單引號和雙引號的PHP MySQL查詢
- 5. mysql插入和更新查詢中的單引號和雙引號(java)
- 6. 如何在Python的MySQL查詢中使用單引號
- 7. 如何處理mysql查詢中的單引號
- 8. 在所有列表中查找和替換引號,在MySQL中查詢列
- 9. handeling查詢有單引號的項目
- 10. 帶有單引號的全文查詢
- 11. 查詢中的單引號
- 12. MySQL 5.6 - 單引號查詢varchar
- 13. 用雙引號替換所有連續的單引號對
- 14. 如何更換 「單引號」,以 「雙單引號」 在XSLT
- 15. 如何更新MySQL中的SELECT查詢後的所有結果
- 16. 如何在MySQL查詢中使用具有單引號值的數組?
- 17. 單引號Sql更新查詢
- 18. PHP MySQL更新減號變量沒有單獨的SELECT查詢
- 19. 如何查詢具有單引號的數據數組?
- 20. Mysql更新查詢從名稱字段中刪除單引號
- 21. 撇號替換MySQL查詢
- 22. MySQL查詢所有
- 23. 如何使用jquery將所有雙引號替換爲單引號?
- 24. mysql查詢中int值的引號
- 25. 如何:帶單引號的Mybatis查詢詞/撇號
- 26. 替換所有單引號在字符串雙引號 - 常規
- 27. 用單引號替換所有雙引號
- 28. 用一個字符串中的兩個單引號替換所有單引號
- 29. 轉換查詢有mysql的
- 30. 如何更換所有星號?
我使用的MySQL:2.14.1,我如何使用我應該只是傳遞mysql.escape我的值()? –
是,當你傳遞一個對象到.escape()或.query(),.escapeId()被用來避免在對象鍵SQL注入。 – AZinkey