Tengo el siguiente código:
connection.query("SELECT * FROM accounts_data WHERE new_username LIKE '%" + username + "%';", function (error, results, fields) { });y me sale el siguiente error
SELECT * FROM `accounts_data` WHERE `new_username` LIKE '%preloved_bys%' ^^^^^ SyntaxError: Unexpected identifier at wrapSafe (internal/modules/cjs/loader.js:1054:16) at Module._compile (internal/modules/cjs/loader.js:1102:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10) at Module.load (internal/modules/cjs/loader.js:986:32)¿Qué hay de malo en la consulta? cuando lo ejecuto a través de phpmyadmin funciona bien
Tengo éxito con hacer lo siguiente:
var value = 'sc188203395acc255'; connection.query('SELECT * from emp where empid like ?', '%' + value + '%', ...) Active la depuración en el controlador (pase debug:true como argumento a mysql.createConnection ), no escapa al signo de porcentaje
Una forma más de solucionar este error:
"SELECT * FROM emp WHERE name empid " + connection.escape('%'+value+'%')use connection.escape una forma alternativa de hacer las mismas cosas
Una forma más de resolver este error:
reinstale el módulo en su proyecto porque a veces el error se puede resolver reinstalándolo
elimine node_modules y package-lock.json y ejecute por última vez npm install
Parece que no hay nada malo con el siguiente código.
pero para tu información, SyntaxError: Unexpected identifier debido a algunas razones, que se mencionan a continuación:
case-sensitive cuando le pasa cualquier parámetro como 'new_username' . Vuelva a comprobar que debe ser correcto.' or "invalid identifier . let str = '%'+username+'%'; let sql = "SELECT * FROM accouts_data WHERE new_username LIKE ?"; connection.query(sql, str, function(err, result) { if(err) throw err }); npm install
Actualizará cada módulo con su última versión automáticamente.