Inserting into database using a PDO

pdo, php

Solution

you are opening two database connection. change your code to

$host = "/homes/49/jc192699/public_html/dbase/";
$database = "EduPro.db";
try {
    $conn = new PDO("sqlite:".$host.$database);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

you should not use backquote instead using single quote in your query. and also column should not have any quotes.

try {
    $sql = "INSERT INTO USERS (userName, password) VALUES ('test', 'testy')";
    $sth = $conn->query($sql);
} catch(PDOException $e) {
    echo $e->getMessage();
}

to fetch the records you need to use this

try {
    $sth = $conn->query('SELECT * FROM USERS');
    $rows = $sth->fetchAll(PDO::FETCH_ASSOC);
    //$rows contains the fetched records in an associative array
    var_dump($rows);
} catch(PDOException $e) {
    echo $e->getMessage();
}

learn more about PDO here http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

Problem

I'm trying to insert data into a database that I have on my server. To connect to my database I have the following code: ``` <?php $host = "/homes/49/jc192699/public_html/dbase/"; $database = "EduPro.db"; $dbhandle = new PDO("sqlite:".$host.$database); try { $dbhandle = new PDO("sqlite:".$host.$database); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } ?> ``` and this all works fine! I have included this into my code so that is not the issue. Here is my code for inserting data into the database: ``` <?php $sql = "INSERT INTO USERS (`userName`, `password`) VALUES (`test, `testy`)"; if ( $fetched = $dbhandle->query($sql)){ $fetched->execute(PDO::FETCH_BOTH); echo "Success!"; } else { echo "Fail."; } ?> ``` It is not inserting the data into the database for some reason. I know that the SQL statement is 100% correct as I have tested it elsewhere. Can anyone help me?

Original source