# Connecting to SQLite using PHP

> Connect to a SQLite database from PHP using PDO, and run queries against it, with example code.

Source: https://helpcenter.ruachost.com/developers/databases/connecting-to-sqlite-using-php/

SQLite is a lightweight, serverless database engine that integrates seamlessly with PHP. On **ruachost.com**, you can connect to SQLite databases using PHP’s built‑in **PDO (PHP Data Objects)** extension.

## Why Use PHP with SQLite?

- No external server required — databases are stored in a single file.
- Perfect for lightweight applications, prototyping, and local development.
- PDO provides a consistent interface across multiple database systems.
- Easy to deploy and portable across environments.

## Steps to Connect to SQLite Using PHP

### Step 1: Ensure SQLite Support in PHP

- Verify that the **pdo_sqlite** extension is enabled in your PHP configuration.
- You can check by running:

  ```
  <?php phpinfo(); ?>
  ```

### Step 2: Connect to SQLite Database

Use PDO to connect to an existing SQLite database file (or create one if it doesn’t exist).

```
<?php
try {
    // Connect to SQLite database file
    $pdo = new PDO('sqlite:/home/username/path/example.db');

    // Set error mode to exceptions
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    echo "Connected to SQLite successfully!";
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>
```

- Replace `/home/username/path/example.db` with the actual path to your database file.
- If the file does not exist, SQLite will create it automatically.

### Step 3: Run Queries

```
<?php
$result = $pdo->query("SELECT lastname FROM employees");

foreach ($result as $row) {
    echo $row['lastname'] . "<br>";
}
?>
```

> **Important Notes:**
- SQLite databases are stored as disk files, making them portable.
- Always use **prepared statements** for secure queries against SQL injection.
- Ensure proper file permissions so PHP can read/write the `.db` file.
- Close connections when done (optional, PDO closes automatically when script ends).
