Node.JS 服务器可以在 后端 连接mysql,这时的情况和php是一样的。
成都创新互联公司成立10年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站制作、网站设计、网站策划、网页设计、国际域名空间、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联公司通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
我从未见过前端JS直接连接mysql的,原因是:
(1)浏览器内置的javascript 引擎一般只支持websocket,即基于http连接的套接字高层协议,而不是真正的socket,因此除非服务器端也开启websocket服务并拆开套接字转发到mysql,否则无法代理连接
(2)我见过的绝大多数mysql 服务器都工作在服务器环境下的一个虚拟子网,换句话说,直接的远程3306端口是拒绝连接的,这样可以隔绝端口直接攻击
如果前段js直接可以连接后端服务器mysql的端口,那么就不叫B/S结构了,而是C/S结构(比如传统的windows桌面程序),安全上有很多问题,所以大多数浏览器也不支持这个操作。
我知道 ie 怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc 然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选
“用户DSN”,如果想被别人访问就选“系统DSN”) 然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了) 用 ie 先调用odbc驱动 然后操作mysql,话不多说,上代码!
//创建数据库连接对象
var conn = new ActiveXObject("ADODB.Connection");
//创建数据集对象
var rs = new ActiveXObject("ADODB.Recordset");
try{
//MySQL ODBC 5.3 ANSI Driver 这个就是我刚才说让你记得驱动的名字
var connectionstring = "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;User=root;Password=root;Database=mysql;Option=3;Port=3306";
console.log(connectionstring);
//打开连接
conn.open(connectionstring);
//查询语句
var sql = " select * from table1 ";
//打开数据集(即执行查询语句)
rs.open(sql,conn);
//(或者rs=conn.execute(sql);)
//遍历所有记录
while(!rs.eof){
//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。
//WScript.Echo输出记录的内容
document.write(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");
//下一条记录
rs.moveNext();
}
//关闭记录集
rs.close();
//关闭数据库连接
conn.close();
} catch(e){
//异常报告
document.write(e.message);
} finally{
//
}
可以使用MySQL的内置函数SELECT来调用MySQL数据库,例如:
SELECT * FROM [table_name];
其中[table_name]表示要调用的表名。
NineData是一款非常有特色的数据库SQL开发产品,对MySQL常用功能支持非常完整,支持多种连接和访问云数据库的方式,对阿里云、腾讯云、华为云、AWS等都有比较好的支持。另外,也适配国内比较流行的PolarDB、GaussDB、TDSQL等数据库。对于新用户NineData还会赠送两个示例数据库,供用户使用。