# koa-mysql

> A Koa wrapper for felixge/node-mysql.

Latest version **1.0.3** (published 2016-04-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install koa-mysql
pnpm add koa-mysql
yarn add koa-mysql
bun add koa-mysql
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2016-04-06 |
| First published | 2016-03-25 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 10 |
| Author | Elad Nava |
| Maintainers | eladnava |

## Links

- npm: https://www.npmjs.com/package/koa-mysql
- Repository: https://github.com/eladnava/koa-mysql
- Homepage: https://github.com/eladnava/koa-mysql#readme
- Issues: https://github.com/eladnava/koa-mysql/issues
- npm.io page: https://npm.io/package/koa-mysql

## Dependencies (2)

- [koa](https://npm.io/package/koa.md) ^1.2.0
- [mysql](https://npm.io/package/mysql.md) ^2.10.2

## Recent versions

- 1.0.3 (latest) — 2016-04-06
- 1.0.2 — 2016-03-25
- 1.0.1 — 2016-03-25
- 1.0.0 — 2016-03-25

## README

# koa-mysql
[![npm version](https://badge.fury.io/js/koa-mysql.svg)](https://www.npmjs.com/package/koa-mysql)

A Node.js [Koa](https://github.com/koajs/koa) wrapper for [felixge/node-mysql](https://github.com/felixge/node-mysql) based off of [sidorares/mysql-co](https://github.com/sidorares/mysql-co).

## Requirements
* Node.js v4.x+ for ES6 generators support

## Usage

First, install the package using npm:
```shell
npm install koa-mysql --save
```

Then, execute a query within a Koa middleware function using the following code:

```js
var mysql = require('koa-mysql');

// Create a MySQL connection pool (do this once)
var db = mysql.createPool({ user: 'root', password: '', database: 'test', host: 'localhost' });

// Execute a sample query (with params)
var rows = yield db.query("select ? + ? as test", [1, 2]);

// Output test result (3)
this.body = { test: rows[0].test };
```

## Koa Example

Here's a more complete example that includes creating a basic Koa app and executing a query (also available in `examples/query.js`):

```js
var koa = require('koa');
var mysql = require('koa-mysql');

// Create a MySQL connection pool (do this once)
var db = mysql.createPool({ user: 'root', password: '', database: 'test', host: 'localhost' });

// Create sample app
var app = koa();

// Run sample app
app.use(function* () {
    try {
        // Execute a sample query (with params)
        var rows = yield db.query("select ? + ? as test", [1, 2]);

        // Output test result (3)
        this.body = { test: rows[0].test };
    }
    catch (err) {
        // 500 Internal Server Error
        this.status = 500;
        this.body = { error: err };
    }
});

// HTTP port
var port = process.env.PORT || 3000;

// Listen for connections
app.listen(port);

// Log port
console.log('Server listening on port ' + port);
```

Run the script and visit [http://localhost:3000/](http://localhost:3000/) to test it out. The server should return `{ test: 3 }`.

## License
Apache 2.0

---
_Source: https://npm.io/package/koa-mysql · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
