¿Es posible acceder a una database MySQL directamente desde Javascript?

¿Hay alguna manera de acceder a una database MySql usando Javascript completamente del lado del cliente o necesita pasar por un lenguaje del lado del server como PHP o C #?

Gracias

Javascript, si se ejecuta en el browser, no tiene forma de acceder a una database MySQL. Por un lado, esta es una limitación técnica, porque Javascript no tiene forma de comunicar protocolos arbitrarios (no, los WebSockets no son la solución). Tenga en count que Node.js, siendo del lado del server y todo, es un "tipo diferente de javascript".

Luego está el problema de security. Si su javascript pudiera acceder a la database directamente, podría acceder fácilmente a la database yo mismo. Podría leer y manipular los mismos datos que tu javascript. En cuanto a la security, llamar a esto una pesadilla sería un eufemismo.

Tendrá que – y QUIERE – enrutar el acceso a la database a través de una aplicación del lado del server. Si esa aplicación está escrita en PHP, C # o Assembly realmente no importa mucho. Con Node.js incluso puedes usar Javascript en el lado del server. Usa lo que te hace sentir cómodo.

Necesitas pasar por el server . Darle acceso directo al código del lado del cliente a la database sería un gran vacío de security, incluso si pudieras hacerlo.

Tenga en count que puede usar JavaScript en el server, no tiene que usar PHP o C #. Hay varios motores de JavaScript del lado del server que puede usar, NodeJS (que ejecuta el motor de V8 de Google) y Rhino (que se ejecuta en la stack de Java) son dos de ellos. Y, por supuesto, Microsoft ha admitido a JScript en el server durante al less 15 años.

Sí, puede usar una biblioteca Javascript como Node.js para realizar consultas MySQL en Javascript; es simplemente una mala idea (TM) hacer este lado del cliente, ya que tendría que enviar a los usuarios los detalles de authentication y proporcionar la capacidad de clientes para conectarse a su server MySQL, lo que significa que tendría que ser accesible a Internet para cualquier IP. No está bien. Sin embargo, si realmente quería solo porque prefiere Javascript pero solo tiene la intención de hacerlo en el server, intente: ( ¿Qué controlleres MySQL están disponibles para node.js? ).

Lo que debe hacer es implementar una pequeña secuencia de commands del lado del server tal vez en PHP o Perl o Python o C #, que solo genera los datos que desea de la consulta y utiliza AJAX para procesar la respuesta.

Necesita usar un lenguaje del lado del server. De lo contrario, sería un gran agujero de security. Cualquiera puede acceder a esta database y enviarle consultas SQL arbitrarias.

Para bases de datos como MySql, definitivamente debe usar un lenguaje de server. Si quieres que JavaScript sea tu único idioma, te sugiero que visites nodejs o couchDB

En teoría, debería ser posible usar las características más nuevas, como los sockets web, etc. Pero no debes hacerlo, teniendo en count que tendrías que hacer públicas tus cnetworkingenciales. Cree una secuencia de commands de envoltura / negociador del lado del server en el idioma disponible que desee utilizar y llame a esa. También puede usarlo para validar las inputs (por ejemplo, filtrar puntajes demasiado absurdos o valores imposibles, dependiendo de lo que esté haciendo).