Punit Mishra
Punit Mishra

Reputation: 23

Failed to select data from PHPMyAdmin using PHP PDO

This is my code:

<?php
//Connect to DB
$servername = "localhost";
$username = "root";
$password = "";

try {
    $conn = new PDO("mysql:host=$servername;dbname=users", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

function printResult($conn) {
    $sql = 'SELECT name FROM info';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
    }
}
?>

But, when I run it, nothing gets printed. What's wrong?

Yes, my table is not empty. I am 100% able select & print data using MySQLi Object-oriented, but not working with PDO. What's wrong in my code?

Upvotes: 1

Views: 321

Answers (3)

Mahadeva Prasad
Mahadeva Prasad

Reputation: 709

Call the function

<?php
//Connect to DB
$servername = "localhost";
$username = "root";
$password = "";

try {
    $conn = new PDO("mysql:host=$servername;dbname=users", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

function printResult($conn) {
    $sql = 'SELECT name FROM info';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
    }
}
//call the function here
printResult($conn);
?>

Upvotes: 1

RiggsFolly
RiggsFolly

Reputation: 94682

To run a function you must call it.

<?php
//Connect to DB
$servername = "localhost";
$username = "root";
$password = "";

try {
    $conn = new PDO("mysql:host=$servername;dbname=users", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
    // and if this fails there is no point continuing so add an exit
    exit;
}

function printResult($conn) {
    $sql = 'SELECT name FROM info';
    foreach ($conn->query($sql) as $row) {
        print $row['name'] . "\t";
    }
}

printResult($conn);   // call the function

?>

Upvotes: 0

Timur
Timur

Reputation: 498

You don't call function printResult from anywhere. Add to your code printResult($conn);

Upvotes: 0

Related Questions