2017-03-06 1 views
0

mein socket.io-projekt sind auf der htdocs-datei auf xampp und ich definierte die datenbank in der server.js-datei und ich überprüft, ob meine datenbanktabellen bestehen aus der empfehlung liniewie man zwischen socket.io und xampp verbindet phpmyadmin sql tabelle

/opt/lampp/bin/mysql -u root 
MariaDB [(none)]> SHOW DATABASES; 
+--------------------+ 
| Database   | 
+--------------------+ 
| users    | 
| fbstatus   | 
| information_schema | 
| mysql    | 
| performance_schema | 
| phpmyadmin   | 
| test    | 
+--------------------+ 

aber ich bekomme diese Fehlermeldung, wenn ich node server im Terminal

Error: ER_DBACCESS_DENIED_ERROR: Access denied for user ''@'localhost' to database 'users' 

meine package.json Datei ausführen

{ 
    "name": "iochat", 
    "version": "1.0.0", 
    "description": "Simple chat app", 
    "main": "server.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "shar", 
    "license": "ISC", 
    "dependencies":{ 
    "socket.io":"*", 
    "express":"*" 

    } 
} 

my server.js file 


var express = require('express'); 
var app = express(); 
var server = require('http').createServer(app); 
var io = require('socket.io').listen(server); 
var mysql = require('mysql'); 
var connection = mysql.createConnection({ 
     host: 'localhost' 
    , database: 'users' 
    , username: 'root' 
    , password: '' 
    }); 
connection.connect(); 
users = []; 
connections = []; 

server.listen(process.env.PORT || 3000); 
console.log('Server running...'); 
app.get('/', function(req, res){ 
    res.sendFile(__dirname + '/index.html'); 

}); 

io.sockets.on('connection', function(socket){ 
    //con 
    connections.push(socket); 
    console.log('connected: %s socket connected', connections.length); 
    connection.query("UPDATE users SET onoff= '8' WHERE UserName='shakoo'"); 
    //discon 
socket.on('disconnect',function(data){ 
    users.splice(users.indexOf(socket.username),1); 
    updateUsernames(); 
    connections.splice(connections.indexOf(socket), 1); 
    console.log('Disconnected: %s sockets connected', connections.length); 

    }); 

    //send message 
    socket.on('send message', function(data){ 
     io.sockets.emit('new message', {msg: data, user: socket.username}); 

    }); 

    //new user 
    socket.on('new user', function(data, callback){ 
     callback(true); 
     socket.username = data; 
     users.push(socket.username); 
     updateUsernames(); 


    }); 
    function updateUsernames(){ 
    io.sockets.emit('get users', users); 

    } 

}); 

Antwort

0

war das proplem hier in

, username: 'root' 

es, dass

user: 'root', 

und ich vergessen, die mysql Definition auf die package.json Datei

"dependencies":{ 
    "socket.io":"*", 
    "express":"*", 
    "mysql": "2.13.0" 


    } 
sein sollte hinzufügen
Verwandte Themen