Greetings, I want to propose a new PDO FETCH MODE.
Whenever I fetch(http://php.net/manual/en/pdostatement.fetch.php) a class, it returns the new instance of the requested class or false in any other cases. However with the new php7.1 return type declaration(https://wiki.php.net/rfc/nullable_types) Upon defining a nullable class as return type, I need to add extra code at the end of my function if my database don't have a row to return. PDO will return a false, my function will trigger a fatal error. My proposal is to add a new style of fetch(PDO::FETCH_NULL_IFNODATA), returning null if the PDOStatement::fetch has no result. //this function will trigger a fatal error if the user is not found function getUserByName($name): ?UserClass{ $pdo = new PDO(dsn, user, pass, driver_options); $sql = "SELECT * FROM user WHERE name = {$pdo->quote($name)}"; $stmt = $pdo->query($sql); $stmt->setFetchMode(PDO::FETCH_CLASS,'UserClass'); return $stmt->fetch(); } //this function will return null representing the absent of user function getUserByName($name): ?UserClass{ $pdo = new PDO(dsn, user, pass, driver_options); $sql = "SELECT * FROM user WHERE name = {$pdo->quote($name)}"; $stmt = $pdo->query($sql); $stmt->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_NULL_IFNODATA,'UserClass'); return $stmt->fetch(); } Looking forward to you answer Best regards Miklos Csonka