Run query with inserted elements returns null
Created by: RayLLiu
Hi, i have tried using different ways to run a sql query with inserted elements(See the following): A. db.testfile(['Action'], function(err, result) { console.log(result); res.send(result); }); With the "db" folder contains: testfile.sql and inside the testfile.sql i wrote:"SET SEARCH_PATH='moviedb';SELECT * FROM TOPICS where DESCRIPTION=$1; "
This returns null. A2 db.testfile(['Action'], function(err, result) { console.log(result); res.send(result); }); i modified the sql file to be:"SET SEARCH_PATH='moviedb';SELECT * FROM TOPICS where DESCRIPTION='$1';" (single quotes added)
it returns null still. B. db.run("SEARCH_PATH='moviedb';SELECT * FROM TOPICS where DESCRIPTION=$1;",["Action"],function(err, result) { console.log(result); res.send(result); });
This returns null as well.
C. db.testfile(function(err, result) { console.log(result); res.send(result); });
This time i modified the sql file "SEARCH_PATH='moviedb';SELECT * FROM TOPICS where DESCRIPTION='Action';" it returns: [ { "topic_id": 1, "description": "Action " } ]
D. The worest solution i found is to create a dynamic query string:
console.log(req.body.moviename + "n"); var query = "SEARCH_PATH='moviedb';SELECT * FROM TOPICS where DESCRIPTION='" + req.body.topic_description + "');" console.log(query); db.run(query, function(err, result) { console.log(result); res.send(result); }); This time it works when front end give different "topic description"
Thank you very much. Ray