当前位置:  开发笔记 > 编程语言 > 正文

JavaScript可以与MySQL连接吗?

如何解决《JavaScript可以与MySQL连接吗?》经验,为你挑选了7个好方法。

JavaScript可以与MySQL连接吗?如果是这样,怎么样?



1> LeeGee..:

没有某种桥接,客户端JavaScript无法访问MySQL.但上面提到JavaScript只是客户端语言的粗体陈述是错误的 - JavaScript可以运行客户端和服务器端,就像Node.js一样.

Node.js可以通过https://github.com/sidorares/node-mysql2之类的东西访问MySQL

您也可以使用Socket.IO开发一些东西

您是否想询问客户端JS应用程序是否可以访问MySQL?我不确定这些库是否存在,但它们是可能的.

编辑:自写作以来,我们现在有MySQL集群:

用于Node.js的MySQL Cluster JavaScript驱动程序就像它听起来一样 - 它是一个可以直接从您的JavaScript代码调用来读取和写入数据的连接器.当它直接访问数据节点时,通过MySQL服务器没有额外的延迟,需要将JavaScript代码//对象转换为SQL操作.如果由于某种原因,您更喜欢它通过MySQL服务器(例如,如果您在InnoDB中存储表),那么可以配置它.

JSDB为DB提供了一个JS接口.

一个策划组DB包从sindresorhus对Node.js的.



2> Timbergus..:

然后

正如我理解这个问题并纠正我,如果我错了,它指的是仅在客户端使用JavaScript的经典服务器模型.在这款经典机型,与LAMP服务器(Linux操作系统,Apache,MySQL和PHP)与数据库中的联系人的语言是PHP,所以请求数据到数据库中,你需要编写PHP脚本和回声返回数据到客户端.基本上,根据物理机器的语言分布是:

    服务器端: PHP和MySQL.

    客户端: HTML/CSS和JavaScript.

这响应MVC模型(模型,视图,控制器),我们具有以下功能:

    模型:该模型处理数据,在这种情况下,是管理变量或访问存储数据的PHP脚本,在本例中是在我们的MySQL数据库中,并将其作为JSON数据发送到客户端.

    视图:视图是我们看到的,它应该完全独立于模型.它只需要显示模型中包含的数据,但它不应该包含相关数据.在这种情况下,视图使用HTML和CSS.HTML创建视图的基本结构,而CSS则赋予这个基本结构的形状.

    控制器:控制器是我们的模型和视图之间的接口.在这种情况下,使用的语言是JavaScript,它将模型发送给我们的数据作为JSON包,并将其放在提供HTML结构的容器中.控制器与模型交互的方式是使用AJAX.我们使用GETPOST方法在服务器端调用PHP脚本并从服务器捕获返回的数据.

对于控制器,我们有非常有趣的工具,如jQuery,作为控制HTML结构(DOM)的"低级"库,然后是新的,更高级的工具,如Knockout.js,允许我们创建连接不同DOM元素的观察者发生事件时更新它们.谷歌的Angular.js也以类似的方式运作,但似乎是一个完整的环境.为了帮助您选择,这里有两个很好的分析这两个工具:Knockout与Angular.js和Knockout.js与Angular.js.我还在读书.希望他们帮助你.

现在

在基于Node.js的现代服务器中,我们使用JavaScript来处理所有事情.Node.js是一个JavaScript环境,其中包含许多可与Google V8 Chrome JavaScript引擎配合使用的库.我们使用这种新服务器的方式是:

    Node.js和Express:构建服务器的主框架.我们可以使用几行代码创建一个服务器,甚至可以使用Express作为Express来更容易地创建服务器.使用Node.js和Express,我们将从客户端管理对服务器的请求,并使用适当的页面回答它们.

    Jade:为了创建页面,我们使用模板语言,在这种情况下,Jade,允许我们在编写HTML时编写网页但有差异(需要一点时间但很容易学习).然后,在服务器的代码中回答客户请求,我们只需要将Jade代码渲染成"真正的"HTML代码.

    手写笔:类似于Jade但是对于css.在这种情况下,我们使用中间件函数将手写笔文件转换为我们页面的真实css文件.

然后我们可以使用NPM(Node.js包管理器)安装很多软件包,并直接在我们的Node.js服务器中使用它们(对于那些想要学习Node.js的人来说,试试这个初学者教程)概述).在这些包中,您可以使用其中一些来访问数据库.使用此方法,您可以在服务器端使用JavaScript来访问My SQL数据库.

但是,如果要使用Node.js,最好的办法就是使用基于JSON文件的新的NoSQL数据库,如MongoDB.它不是存储像MySQL这样的表,而是将数据存储在JSON结构中,因此您可以在每个结构中放置不同的数据,如长数字向量,而不是为最大的数据创建大表.

我希望这个简短的解释对您有用,如果您想了解更多相关信息,请在此处获得一些资源:

Egghead:这个网站上有很多关于JavaScript及其环境的简短教程.值得一试.并且不时制作折扣.

Code School:提供免费且非常有趣的Chrome开发者工具课程,帮助您测试客户端.

Codecademy:有关HTML,CSS,JavaScript,jQuery和PHP的免费课程,您可以使用在线示例.

10gen教育:在不同语言的教程中,您需要了解有关MongoDB的所有信息.

W3Schools:这个有关于所有这些的教程,您可以将它用作参考地点,因为它有很多简短的代码示例非常有用.

Udacity:一个关于不同主题的免费视频课程的地方,其中有一些关于Web开发的有趣内容,以及我喜欢的一个用于使用JavaScript的3D图形的惊人WebGL课程.

UPDATE!

现在,拥有一个Node服务器,如果你想与MySQL数据库通信,你可以使用一个名为mysql的库.你可以像使用PHP一样创建查询,你可以使用我创建的API生成器来尝试它,你可以使用NPM下载.它有一个向导,允许您选择要使用的数据库,以及其他内容.

我希望它可以帮助你开始.

玩得开心!



3> konradowy..:

不,JavaScript无法直接连接到MySQL.但是你可以将JS与PHP混合使用.

JavaScript是一种客户端语言,您的MySQL数据库将在服务器上运行


小记:JavaScript在客户端运行的事实与它无法连接到数据库服务器的事实无关.这种语言的未来版本可以添加API来访问远程数据库,这可能非常好(尽管非常不可能).
"JavaScript是一种客户端语言"不一定:不仅仅是Java.
不过,我不会称之为"将JS与PHP混合".你可能会做的是让PHP代码生成它从MySQL提前检索到的JavaScript代码/数据(例如json).或者你可以在服务器上使用PHP提供一个http(json/REST/SOAP/...无论如何)接口来访问php代码从MySQL检索的数据 - 这个http接口可以被运行在任何地方的JavaScript代码调用,主要是一个brwoser.截至今天,还说JavaScript是客户端不再是当前的 - 例如检查Node.js.
谢谢,我该怎么办?
使用新版本的mysql 5.7 httpclient可以使用http插件直接与mysql数据库通信(为mysql 5.7构建)

4> Kerry..:

我想你需要在等式中添加类似PHP的东西.PHP与数据库交互,然后您可以使用Javascript进行AJAX调用.



5> Atul Chaudha..:

有点迟,但最近我发现MySql 5.7得到了http插件,用户现在可以直接连接到mysql.

为mysql 5.7寻找Http Client



6> Dean Harding..:

简单的答案是:不.

JavaScript是一种在浏览器中运行的客户端语言(尽管是node.js),而MySQL是在服务器上运行的服务器端技术.

这意味着您通常使用服务器端语言(如ASP.NET或PHP)连接到数据库.



7> Ivan Wang..:

是?看看流星.链接:

http://meteor.com/screencast和http://net.tutsplus.com/tutorials/javascript-ajax/whats-this-meteor-thing/

我不明白它是如何完成的.但是Nettuts +把这个东西放在了javascript-ajax部分,也许是魔法发生了.

它还显示了使用JS连接和插入MongoDB的一些方法,如下所示:

Products.insert({Name : "Hammer", Price : 4.50, InStock : true});
Products.insert({Name : "Wrench", Price : 2.70, InStock : true});
Products.insert({Name : "Screw Driver", Price : 3.00, InStock : false});
Products.insert({Name : "Drill", Price : 5.25, InStock : true});

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有