Reputation: 19
I wrote a SQL query with PDO. DB table has 3 results with match the query. But the PDO shows only one result.
my code is this
conn.php
function connect() {
$servername = "localhost";
$dbname = "guiding_db";
$username = "user";
$password = "pass";
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $conn;
}
_admin.php
include_once './conn.php';
function getStudentsRequests(){
$sql = "SELECT * FROM `user` WHERE signas = 'student' AND accept='0'";
$result = connect()->query($sql);
$out = $result->fetch(PDO::FETCH_ASSOC);
print_r($out);
return $out;
}
getStudentsRequests();
Upvotes: 0
Views: 261
Reputation: 6570
PDOStatement::fetch()
loads a single row only. Use PDOStatement::fetchAll()
to load all rows (or use a while
loop):
$out = $result->fetchAll(PDO::FETCH_ASSOC);
Upvotes: 1
Reputation: 5332
fetch method return next result (one). If you wish get all results - use methods like fetchAll
Upvotes: 0
Reputation: 4220
fetch
method return only one row from query. If you want all you need to use while
loop or fetchAll
method
Upvotes: 0