Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   выдает ошибку cannot get (https://javascript.ru/forum/node-js-io-js/81004-vydaet-oshibku-cannot-get.html)

riaron 12.09.2020 10:21

выдает ошибку cannot get
 
набираю http://localhost:3000/somesmart/?id=9 выдает ошибку Cannot GET /somesmart/
вот код
app.get('/somesmart/:id', function(req, res) {
	// Connect to MySQL database.
	var somesmart = [];

	var connection = getMySQLConnection();
	connection.connect();

	// Do the query to get data.
	connection.query('SELECT `prod`,`name`,`sim`,`display`,`razresh`,`acum`,`proc`,`oper`,`sd`,`cam`,`gps`,`description`,`giroscope`,`payment`,`photo` FROM `smartphone` WHERE '+req.params.id, function(err, rows, fields) {
		if (err) {
			res.status(500).json({"status_code": 500,"status_message": "internal server error"});
		} else {
			// Loop check on each row
			for (var i = 0; i < rows.length; i++) {

				// Create an object to save current row's data
				var smart = {
					'prod':rows[0].prod,
					'name':rows[0].name,
					'sim':rows[0].sim,
					'display':rows[0].display,
					'razresh':rows[0].acum,
					'acum':rows[0].acum,
					'proc':rows[0].proc,
					'oper':rows[0].oper,
					'sd':rows[0].sd,
					'cam':rows[0].cam,
					'gps':rows[0].gps,
					'description':rows[0].description,
					'giroscope':rows[0].giroscope,
					'payment':rows[0].payment,
					'photo':rows[0].photo
				}
				// Add object into array
				somesmart.push(smart);

		}
		res.render('somesmart', {"somesmart": somesmart});
	}
	});

	// Close MySQL connection
	connection.end();
});

laimas 12.09.2020 10:40

Цитата:

Сообщение от riaron
WHERE '+req.params.id

И что это в итоге будет?

riaron 12.09.2020 10:49

https://www.w3schools.com/nodejs/nodejs_mysql_where.asp

laimas 12.09.2020 11:03

Может вам документацию почитать? Если вы в запросы будете подставлять не только параметры, но и имена полей, которые берете из запросов пользователя, и все это не фильтровано, то это прямой путь к sql-инъекции.

riaron 13.09.2020 12:22

id надо писать без знака вопросительного и всякого такогою Только надо было писать значение

laimas 13.09.2020 12:28

Цитата:

Сообщение от riaron
id надо писать без знака вопросительного и всякого такого

Вы вообще понимаете назначение этого "вопроса", и вообще, что есть база? Необязательно использовать переменные базы для запроса в нее, но обязательно нужно обезопасить запрос, а вы его делаете просто варварским способом совсем не заботясь об этом, и отдаете это на откуп сторонним пользователям, да еще на блюдечке с голубой каемочкой.


Часовой пояс GMT +3, время: 09:24.