Karuppiah RK
Karuppiah RK

Reputation: 3964

php pdo statement error

I'm a newbie to php pdo. Here i'm trying to fetch my database records from database using prepared statements. But it didn't fetch the records. I'm getting this following error

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

why i'm getting this error? why it didn't fetch the records from database?

<?php
$user = "root";
$password = "password";

    try {
        $conn = new PDO('mysql:host=localhost;database=evouchers', $user, $password);
        $conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    } catch(PDOException $e){
        echo 'DATABASE ERROR : ' . $e->getMessage();
    }

    $sql = "SELECT UserName FROM ebusers ORDER BY UserName";
    $db = $conn->query($sql);
    $db->setFetchMode(PDO::FETCH_ASSOC);

    while($row = $db->fetch())
    {
        print_r($row);
    }
?>

Upvotes: 1

Views: 123

Answers (3)

sanjeev
sanjeev

Reputation: 4621

use the following line for pdo connection

 $conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);

Upvotes: 2

Arek S
Arek S

Reputation: 4719

I think it should be

$conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);

Alternatively try just after you init PDO

$conn->exec('USE evouchers;');

Upvotes: 2

M I
M I

Reputation: 3682

in your db connection string instead of database use dbname

  $conn = new PDO('mysql:host=localhost;database=evouchers', $user, $password);
  ---------------------------------------^



 $conn = new PDO('mysql:host=localhost;dbname=evouchers', $user, $password);

Docs link: http://php.net/manual/en/pdo.connections.php

Upvotes: 4

Related Questions