<?php
$connect = mysqli_connect('localhost', "root", "", "test");
if(!$connect){
die(mysqli_connect_error());
}
$sql = "SELECT * FROM articles";
$result = mysqli_query($connect, $sql) or die(mysqli_connect_error());
while($row = mysqli_fetch_array($result)){ ?>
<div class='article-div'>;
<a href='articleviewer.php?id=$row[ID]' class='article-title'> . <?php $row['Title'] ?>. </a>;
</div>;
<?php }
mysqli_close($connect);
?>
Так что у меня есть этот код на PHP, который на самом деле говорит само за себя. Он извлекает MySQL в массив и продолжает печатать div для каждой статьи при публикации заголовка статьи. Как мне сделать это в файле node.js с помощью express? У меня установлен модуль «mysql». Так что же такое узел, эквивалентный mysqli_fetch_array ()?
Как нпм MySQL В документации модуля сказано, что вам просто нужно сделать запрос вроде:
connection.query('SELECT * FROM `books` WHERE `author` = "David"', function (error, results, fields) {
// error will be an Error if one occurred during the query
// results will contain the results of the query
// fields will contain information about the returned results fields (if any)
});
Затем вы можете перебрать results
через простой цикл.
Примечание. В начале документации приведено объяснение того, как подключиться к базе данных и настроить ее. Прочитайте это сначала 🙂
Ты можешь использовать MySQL или же Узел-MySQL модули:
npm install -g mysql
или же
npm install -g node-mysql
Ниже приведен пример использования (при условии, что есть таблица с именем example_table
с колоннами ID
, FileName
а также FileSize
в базе данных node_dev
):
var mysql = require('mysql'),
qid = '1'; // example ID
var db = mysql.createConnection({
host : 'localhost',
user : 'DATABASE_USER_HERE',
password : 'DATABASE_PASSWORD_HERE',
database : 'node_dev'
});
/* SQL */
db.connect();
db.query('SELECT * FROM `example_table` WHERE RowID=?', [qid], function(err, rows, fields) {
if (err) {
throw err;
console.error(err);
} else {
for (var i = 0, len = rows.length; i < len; i++) {
// either of those two will do:
console.log(rows[i].FileName, rows[i].FileSize);
console.log(rows[i]['FileName'], rows[i]['FileSize']);
}
}
});
db.end();
/* SQL */
Вы, вероятно, (в большинстве случаев) захотите написать простое промежуточное программное обеспечение / микросервисы с другими модулями узлов, такими как express, http / https, Oauth2, которые будут отслеживать запросы, перехватывать параметры и отправлять некоторые выходные данные, проанализированные как JSON или что-то в этом роде.