2016-05-31 9 views
2

Ich benutze node.js Knoten-Mysql-Treiber für MySQL. Ich schrieb dieses Stückchen CodeJavascript MySQL Verbindung auf HTML-Seite

var mysql = require("mysql"); 
    var connection = mysql.createConnection({ 
     host  : "localhost", 
     user  : "root", 
     password : "", 
     database : "story" 
    }); 
    function testQuery() { 
     connection.query("INSERT INTO stories (TITLE, AUTHOR, STORY) VALUES   
     (\"hello\",\"goodbye\",\"sayonara\")", function(err,rows){ 
      if(err) throw err; 
     } ) 
     return; 
    } 

Also, wenn ich den Code in der testQuery() Funktion in der node.js Kommandozeile aus und es funktioniert wie erwartet hallo Auf Wiedersehen und sayonara in die MySQL-Datenbank einfügen. Aber wenn ich das Skript in eine HTML-Seite platziere und einen Button onclick habe, führe testQuery() aus, bekomme ich kein Ergebnis.

+2

Die Ausführung im Browser ist nicht das Gleiche wie die Ausführung in Node. –

+1

'node-mysql' ist eine serverseitige Komponente. Der Server baut in diesem Fall auf 'node.js' auf – Serge

Antwort

0

Sie versuchen, Nodejs Server-Code auf dem Client auszuführen, dies wird nicht funktionieren. Dies würde auch bedeuten, dass Sie sofort gehackt werden, da Ihr Passwort in verschlüsseltem, reinem Text gespeichert und auf dem Client-Computer gespeichert wird. Doppelt nein nein. Sie müssen eine neue Knoteninstanz starten und diesen Code vom Server und nicht vom Browser aus bereitstellen.