node-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 () {});
「%」記号をエスケープするだけです。