Det här är vad PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
är för. Använd det så här:
$pdo = new PDO(
'mysql:host=localhost;port=3306;dbname=mydb;charset=utf8'
, 'user'
, 'pass'
, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ]
);
När de används på detta sätt kastas fel faktiskt som undantag. Detta betyder att om ett fel inträffar med hämta (eller andra metoder som använder detta pdo-objekt) kommer ett undantag att kastas och metoden kommer faktiskt inte att returnera alls. Detta är ett mycket effektivt sätt att hantera fel i PDO. Nu vet du att om fetch returnerar ett värde har inga fel inträffat och därför om det är falskt så returnerade frågan inga poster.