Salve ragazzi volevo un chiarimento.
public static function getEntityData($entityID) {
$sql = "SELECT * FROM \"entity\" WHERE \"entityid\" = $entityID";
$res = pg_query(DataManager::_getConnection(),$sql);
if($res && pg_num_rows($res)) {
return pg_fetch_assoc($res);
}
die("Failed getting entity $entityID");
}
return pg_fetch_assoc($res);
}
Nell'if, sia $res che pg_num_rows($res) sono entrambi true allora restituisce un array associativo pg_fetch_assoc($res).
$res è una risorsa. Quindi se la risorsa punta a dei risultati restituisce true altrimenti false.
Non mi è chiaro mentre pg_num_rows($res). Dovrebbe restituire il numero delle righe oppure -1 se non c'è nessun risultato. Infatti da php.net leggo:
pg_num_rows: The number of rows in the result. On error, -1 is returned.
Quindi da pg_num_rows dovrei avere 1,2,3 ecc numeri di righe oppure -1 in caso di nessun numero di righe. Ma questo significa che Php converte in true gli eventuali numeri di riga ed in false il -1?