Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Dl][NodeJS]mysql


bnmbb

Rekomendowane odpowiedzi

Opublikowano

Hej. Chciałbym przedstawić wam kilka funkcji stworzone do moduły MySQL w node JS. Funkcje te to :

mysql_connect (host, login, password, database)

mysql_close (void)

mysql_query (query)

mysql_num_rows (query)

mysql_fetch_array (query)

Aby zainstalować moduł ,na którym się będę opierał wrzuć do CMD tą linijkę:

npm install [email protected]

Okej. jedyne czego wymagam to wolne zmienne o nazwie "mysql" i "connection". Lecim :

var mysql = require('mysql'), connection;
function mysql_connect(host, login, pass, database) {
connection = mysql.createConnection({
host : host,
user : login,
password : pass,
database: database
});
connection.connect(function(err) {
if(err != '') {
console.log(err);
return false;
} else {
return true;
}
});
}
function mysql_close() {
connection.end();
}
function mysql_query(query) {
connection.query(query, function(err, rows, fields) {
console.log(err);
});
return query;
}
function mysql_fetch_array(query) {
var arrayka = Array(), i = 0;
connection.query(query, function(err, rows, fields) {
console.log(err);
for(q in rows) {
if(typeof rows[q] == 'object') {
arrayka[i] = rows[q];
i++;
}
}
});
if(i == 1) {
arrayka = arrayka[0];
}
return arrayka;
}
function mysql_num_rows(query) {
var i = 0;
connection.query(query, function(err, rows, fields) {
console.log(err);
for(q in rows) {
if(typeof rows[q] == 'object') {
i++;
}
}
});
return i;
}

Wiem ,że niejest to pro profesjonalny kod ,ale zaczynam tworzyć dopiero w Node :)

Opublikowano

Nie rozumiem po co wam w node baza danych, cały driver opiera się o schematyczny długotrwały przesył informacji w czasie żeczywistym, w takim wypadku po co komu mysql, jak można to zrobić bezpieczniej i wydajniej u klijenta. Wydaje mi się, że takie połączenie z bazą jest zbędne.

 

Opublikowano

Zapytania są widoczne dla otoczenia zewnętrznego to znaczy dla klientów, a więc łatwo je spreparować (Myślę że jest to dobry powód :))

Przykład pewnego osobnika 1000 osób online skrypt jquery+node(mysql) - jedna osoba odpala cheat engine + 100 do spida tym samym + 100 do zapytań mysql serwer dead :P

Ale jak chcesz się zagłębiać w tematy nd+mysql to polecam poczytać o działaniu i funkcji node, w przeciwnym wypadku nie ma co się za to brać, tak samo działa fizyka :) pozdro :)

Opublikowano

Pierwsze słyszę że zapytania w sql wyświetlają się po stronie klienta. Zapytania mysql są wyświetlane po stronie serwera, to co pobierzesz po stronie serwera przez mysql możesz wyświetlić po stronie klienta.

 

Bawiłeś się wogóle kiedyś node.js?

 

Oprócz tego normalnie można wysłać posty i gety, node.js to jest to samo co apach.

Opublikowano

Serwery typu apache, które każde żądanie obsługują oddzielnym wątkiem, co blokuje zasoby (node.js jest zdarzeniowy i sprawę załatwia). Druga sprawa jeśli wiesz czym jest socket to powinieneś wiedzieć, że nie ma tam ciągłego odpytywania serwera, a jedynie komunikacja obustronna, która utrzymuje ciągłe połączenie. Websocket nie jest żądaniem http, a żądaniem websocket - to jest inny protokół stworzony do tego celu!

Ktoś kto twierdzi że node to to co apache jest w błędzie i najwyraźniej co dopiero zaczą jak sam to ują wcześniej "zabawe" z ws.

Opublikowano

Oczywiście zapytania po stronie serwera nie będą do odczytania, ale funkcje i te zapytania po stronie klienta już będą widoczne :) Tylko ja dalej nie rozumiem po jakiego masz używać mysql jeżeli node został tak stworzony, aby przesyłać informacje pomiędzy użytkownikami w czasie rzeczywistym, możliwe jest użycie sesjii !~, a jeśli myślisz, że jest jakaś różnica pomiędzy pobieraniem z mysql php a modułem node to ci powiem, iż nie, Nie lepiej pobrać u klienta ajaxem czy php dane i przesłać je do następnego potencjalnego odbiorcy ?

Opublikowano

Nie rozumiesz. Dajmy ,że mamy czat. Komenda /ban [username]

Na wykrycie po stronie serwa ,że to ta komenda od razu aktualizuje informacje dając mu bana poprzez update oraz wysyła do niego wiadomość (do banowanego). A po co robić tak :

Klient -> Node -> PHP -> MySQL

zamiast

Klient-> Node -> MySQL

Opublikowano

jak już to :

Klient -> Node -> Klient (PHP -> MySQL);

albo

Klient(php->mysql) -> Node -> Klient;

 

 

Dajesz bana php->ajax

Wysyłasz requesta sprawdzającego czy osoba która dostała bana jest zalogowana jeśli tak to wykonujesz funkcję i go wywalasz (np odświeżasz mu str :) )

Opublikowano

Mi chodzi o to że jeżeli masz np chat i użytkownik chce zarezerwować sobie nick. To go rejestruje i dodaje te dane do mysql node.js. Czy jest też inna możliwość?

Specjalista
Opublikowano

wygląda na bardzo miła i prostą komunikację :)

nie miałem okazji jeszcze z tym pracować, ale nie prezentuje się źle

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...