0

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(); 
1
  • What is the value of print_r($out);?? Commented Jun 16, 2016 at 11:33

3 Answers 3

1

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); 
Sign up to request clarification or add additional context in comments.

Comments

0

fetch method return only one row from query. If you want all you need to use while loop or fetchAll method

Comments

0

fetch method return next result (one). If you wish get all results - use methods like fetchAll

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.