Node.js MySQL соединение работает только при выполнении из командной строки - PullRequest
0 голосов
/ 09 января 2019

Я все еще новичок в node.js, поэтому заранее прошу прощения, если этот вопрос глуп.

Сначала я попытался выполнить test.js с помощью командной строки

conn.js

var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'tgs'
});

connection.connect(function(err) {
if (err) throw err;
});

module.exports = connection;

test.js

function testconnect()
{
  var conn = require('./conn');
  var sql = "INSERT INTO chat_line (line_text) VALUES ('test')";
  conn.query(sql, function (err, result) {
  if (err) throw err;
  });
}
testconnect();

в командной строке

D:\xampp\htdocs\TGS\>node test.js

и это работает, я получил данные в моей базе данных. После этого я хотел попробовать реализовать это в моей системе, поэтому я попытался выполнить это в php

testing.php

<script>
function testalert()
{
  alert("alert1");
  var conn = require('./conn');
  var sql = "INSERT INTO chat_line (line_text) VALUES ('test')";
  conn.query(sql, function (err, result) {
  if (err) throw err;
  });
  alert("alert2");
}
</script>

<input type="button" onclick="testalert();">

и это не работает. Первое предупреждение появилось после нажатия кнопки, но второе предупреждение не появилось, также в моей базе данных нет ввода.

1 Ответ

0 голосов
/ 09 января 2019

Node.js и PHP - это разные технологии, вы не можете напрямую использовать друг друга, если вы хотите взаимодействовать друг с другом, вам понадобится такой посредник, как (API, очередь, база данных и т. Д.).

попытайтесь понять, как работает nodeJs, в первой строке есть зависимость библиотеки mysql, которая является промежуточным программным обеспечением, помогающим работать с базой данных

var mysql = require ('mysql');

строка выше может работать только в среде nodeJs, если вы хотите использовать ее в PHP, то в PHP будет какая-то другая библиотека, которая сделает то же самое (я не PHP-парень, поэтому не могу помочь с идеальной здесь), и вы не будете для вашего примера вообще нужен nodeJS.

Дайте мне знать, если я ясно дал понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...