노드 MySQL 이스케이프 LIKE 문
노드-mysql에서 MySQL LIKE 문을 탈출하려면 어떻게 해야 합니까?
어떤 일이 일어날 때마다
"SELECT * FROM card WHERE name LIKE '%" + connection.escape(req.body.search) + "%'"
결과:
'SELECT * FROM card WHERE name LIKE \'%\'hello\'%\''
그것은 구문 오류입니다.다음의 대체 구문을 사용하는 경우
connection.query("SELECT * FROM card WHERE name LIKE '%?%'", req.body.search, function () {});
유사한 구문 오류가 발생합니다.저도 노력했습니다.
connection.query("SELECT * FROM card WHERE name LIKE ?", '%' + req.body.search + '%', function () {});
결국 '%' 기호를 벗어나는 것입니다.
왜 도망치는지 확실하지 않습니다.%
당신의 마지막 예에서, 그것은 나에게 잘 통하기 때문입니다.
// lifted from my code:
var value = 'ee20e966289cd7';
connection.query('SELECT * from django_session where session_key like ?', '%' + value + '%', ...)
// Result:
[ { session_key: '713ee20e966289cd71b936084a1e613e', ... } ]
드라이버에서 디버깅을 켤 때(통과)debug:true
의 논거로mysql.createConnection
), % 기호를 벗어나지 않습니다.
{ command: 3,
sql: 'SELECT * from django_session where session_key like \'%ee20e966289cd7%\'' }
(단 하나의 인용문은 제외되지만, 표시 목적으로만 사용됩니다.)
(사용)mysql@2.0.0-alpha8
)
나는 이런 것으로 성공을 거둔 적이 있습니다.
"SELECT * FROM card WHERE name LIKE " + connection.escape('%'+req.body.search+'%')
어때.
mysql.format("SELECT * FROM card WHERE name LIKE CONCAT('%', ?, '%')", req.body.search)
?
당신은 언제든지 할 수 있습니다.
variable = '%${variable}%'
"SELECT * FROM 'table' WHERE ('foo' LIKE ?);",
[variable], callback =>
저도 같은 문제가 있어서 이렇게 해결했습니다.
function search(searchTerm) {
let replacement = `'%${searchTerm}%'`;
let sqlStatement = `SELECT * from clients where firstName LIKE ${replacement}`;
const [rows, fields, error] = connection.query(sqlStatement);
return rows;
}
간단하고 쉬운 방법:
`SELECT * FROM card WHERE name LIKE ` + connection.escape(`%${req.body.search}%`)
언급URL : https://stackoverflow.com/questions/17922587/node-mysql-escape-like-statement
'programing' 카테고리의 다른 글
Resttemplate getForEntity - 헤더 전달 (0) | 2023.10.24 |
---|---|
WordPress - 오류 로그 타임스탬프 시간대를 로컬로 설정하려면 어떻게 해야 합니까? (0) | 2023.10.24 |
맨 왼쪽 테이블의 모든 행에 대해 맨 오른쪽 테이블에서 하나의 행만 반환 (0) | 2023.10.24 |
문자열 비교 시 악센트가 있는 문자 무시 (0) | 2023.10.24 |
CSS의 비율에 따라 색상을 더 밝게 또는 더 어둡게 동적으로 변경 (0) | 2023.10.24 |