#Rocket
## 事象
```
Error: Rusqlite error: Invalid parameter name: :route_id
```
コード
```rust
pub fn select_by_route_id(
conn: &mut Connection,
route_id: &RouteId,
) -> serde_rusqlite::Result<Vec<Trip>> {
let mut stmt = conn.prepare("SELECT * FROM trips WHERE route_id = ':route_id'")?;
let result =
from_rows::<Trip>(stmt.query_named(named_params! {":route_id": route_id})?).collect();
result
}
```
## 原因
[[Prepared statement]]のシングルクーテーションが余計だった。具体的には` = ':route_id'`の部分。
## 解決方法
シングルクーテーションを削除する。
```diff
- let mut stmt = conn.prepare("SELECT * FROM trips WHERE route_id = ':route_id'")?;
+ let mut stmt = conn.prepare("SELECT * FROM trips WHERE route_id = :route_id")?;
```