If you want to make sure you always get rows, you can use bindColumn () and specify the data type for each column
$sql = 'SELECT id, name FROM test'; $stmt = $dbh->query($sql); /* Bind by column number */ $stmt->bindColumn(1, $id, PDO::PARAM_STR); //or PDO::PARAM_INT $stmt->bindColumn(2, $name, PDO::PARAM_STR); while ($row = $stmt->fetch(PDO::FETCH_BOUND)) { var_dump($id); var_dump($name); }
source share