如何使用 Node.js 查询 mysql 数据库以通过 url 中的名称获取特定用户(字段),而不仅仅是通过 ID
Posted
技术标签:
【中文标题】如何使用 Node.js 查询 mysql 数据库以通过 url 中的名称获取特定用户(字段),而不仅仅是通过 ID【英文标题】:How to query a mysql database with Node.js to get specific users (fields) by name in url, not only by ID 【发布时间】:2019-11-04 20:49:00 【问题描述】:我知道如何使用 Node.js 查询 SQLite 数据库以返回具有相应字段信息的特定键,但我无法在 mysql 中找到正确的语法。
我想在 url 中输入一个特定的电台名称,例如并从数据库中获取其所有信息。例子。 http://localhost:5000/station/
数据库结果将是:
[“车站”:“温顿”,“位置”:“拜尔斯巷123号”,“物业规模”:“3000”]
<sqlite> needs to be put in <mysql>
app.get('station/:stationid', req, res) =>
const stationToLookup = req.params.stationid;
db.all (
'SELECT * FROM stores WHERE station = $station',
$station = stationToLookup
,
(err, rows) =>
console.log(rows);
if (rows.length > 0)
res.send (rows[0]);
else
res.send();
);
);
【问题讨论】:
你在使用任何 ORM 吗? 对不起,我不熟悉 ORM 这个词......这是什么意思? @SonuBamniya ORM 代表对象关系模型。你可以使用sequalize,npmjs.com/package/sequelize 【参考方案1】:这似乎是一个解决方案.....@James @SonuBamniya
//(2)获取所有电台名称 app.get('/stationNames/:stationid',(req,res)=>
const nameToLookup = req.params.stationid;
//console.log(nameToLookup);
db.query('SELECT * FROM stores WHERE station = ?', [nameToLookup],(err, rows, fields)=>
如果(!错误) res.send(行); 别的 控制台日志(错误); ) );
【讨论】:
【参考方案2】:你应该先通过 npm 安装 mysql 驱动。 npm install mysql
var mysql = require('mysql');
var con = mysql.createConnection(
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
);
app.get('station/:stationid', req, res) =>
con.connect(function(err)
if (err) throw err;
con.query("SELECT * FROM stores WHERE station ='" + req.params.stationid + "'", function (err, result)
if (err) throw err;
console.log(result);
);
);
NOTE 如何在上面的代码中使用双引号和单引号。查询在 双引号 内,然后我们要查找的字段的值介于 single qoutes 之间,嵌入在 =
符号之后的双引号内。
【讨论】:
@James.....我在 node 中安装了 mysql,但是,我想使用 app.get 函数,所以我可以输入一个 url......我应该使用什么 url使用? 再次查看上面的代码我已经更新了!我希望它对你有帮助。使用req.params.stationid
访问url中的stationid。
@James ......我们俩的想法都一样......我在发布一个我工作过的解决方案后才看到你的解决方案......两者都是一样的...... ....谢谢.....以上是关于如何使用 Node.js 查询 mysql 数据库以通过 url 中的名称获取特定用户(字段),而不仅仅是通过 ID的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Node.js 查询 mysql 数据库以通过 url 中的名称获取特定用户(字段),而不仅仅是通过 ID
如何在使用 mysql npm 的查询中将 *array of objects* 从 MySQL 返回到 Node js 服务器?
Socket.io、Node.js:如何在 javascript.js 中将 javascript 变量传递给 mysql 查询?