【发布时间】:2020-10-03 13:12:02
【问题描述】:
我正在尝试与我的 Web 应用程序建立数据库连接(我正在使用 XAMPP - phpmyadmin)。
在这个里程碑中,我第一次遇到了 Node.js,并设法通过使用 browserify 使 require() 函数工作。这是我在register.php 上单击“注册”按钮时执行的 javascript 文件。
var mysql = require('mysql');
var thisUser = mysql.createConnection({
host: "localhost",
user: "admin1",
password: "password",
database: "db_mymindmapper"
});
------------- WORKS UNTIL HERE -------------
thisUser.connect(function(error){
if(!error) {
alert("NODE CONNECTED TO MYSQL SERVER");
var sql = "INSERT INTO student_demographics (first_name) VALUES ('YOU DID IT MF')";
thisUser.query(sql, function(err, result) {
if(!err){
alert("result = " + result);
}else{
throw err;
}
});
}else{
throw error;
}
});
当我使用我的 register.php 文件在浏览器上运行它时,它会在控制台上显示以下错误:
Uncaught TypeError: Net.createConnection is not a function
at Connection.connect (bundle.js:34538)
at HTMLInputElement.check_Register (bundle.js:43660)
connect @ bundle.js:34538
check_Register @ bundle.js:43660
但是,当我在 CMD 中使用 node signUp.js 运行它时,它可以完美运行,并且数据会转到 phpmyadmin 上的表中。
我知道这是由提供的question 中的这个原因引起的:“您必须仅在 Node.js 上运行此特定模块,不能在 Web 浏览器中运行它。”
我的问题:
是否有任何可能的方式在浏览器上运行,以便用户在访问register.php 站点时可以注册?我需要更改代码的整个结构吗?我需要require('http') 来设置 Node.js 服务器吗?
【问题讨论】:
标签: javascript mysql node.js connect