Я ребенок в программировании, особенно NodeJS и Javascript. Я узнал о том, как подключиться к PostgreSQL через Javascript, используя NodeJS и socket.io.Как вставить и обновить sql, используя NodeJS, socket.io, postgres правильно?
Я нашел и нашел эту ссылку http://gonzalo123.com/2012/05/07/asynchronous-queries-to-relational-databases-from-browser-with-node-js-and-socket-io/. Последовал за ним и хорошо работал с оператором select и update.
Однако я все еще не могу выполнить с вставкой в оператор и обновление с указанными значениями. Вот мой текущий код.
стороне сервера:
var pg = require('pg');
var conString = "tcp://postgres:[email protected]:5432/testdb";
var client = new pg.Client(conString);
client.connect();
var io = require('socket.io').listen(8888);
io.sockets.on('connection', function (socket) {
socket.on('sql', function (data) {
var query = client.query(data.sql, data.values);
query.on('row', function(row) {
socket.emit('sql', row);
});
});
});
Client (HTML):
<html>
<head></head>
<body>
<script src="http://localhost:8888/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:8888');
var mobileno = '';
function sendSql(sql, values, cbk) {
socket.emit('sql', { sql: sql, values : values});
socket.on('sql', function(data){
console.log(data);
});
}
</script>
<p>
<a href="#" onclick="sendSql('select * from user', [], function(data) {console.log(data);})">Select</a>
</p>
<a href="#" onclick="sendSql('UPDATE user set mobile = 987654321 where id=12 ', [], function(data) {})">Update</a>
</p>
<p>
<a href="#" onclick="sendSql('INSERT INTO user (name) values('Michael'),[], function(data) {console.log(data);})">Insert</a>
</p>
</body>
</html>
Из выше кода, выберите оператор работает отлично со всеми данными показывает в консоли Chrome.
Для заявления о обновлении я могу обновить данные в столбце «мобильный» со значением «987654321». Но то, что я хочу, это значение из var mobileno = '123456789';
я пытался ...
UPDATE user set mobile = mobileno
Он не работает и на консоли сервера говорит «столбец MobileNo не существует».
Для заявления о вставке, я действительно понятия не имею об этом. Пытался изменить синтаксис многими способами, но по-прежнему не может заставить его работать и по-прежнему получать различные ошибки.
Я предполагаю, что у кого-то здесь должен быть опыт работы с этим. Пожалуйста, любезно научите меня, как использовать обновление и вставлять в утверждение этой вещи правильно.
Это, без сомнения, самая небезопасная реализация SQL, которую я когда-либо видел. –