Ce code déclenche mon intelephense d'éditeur pour une erreur :
/**
* Se connecter à la base de données
*/
public function link() {
global $config; mysqli_report(MYSQLI_REPORT_ERROR);
try {
return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name']);
} catch (\exception $e) {
throw new \exception($e->getMessage(), $e->getCode());
}
}
6 arguments attendus. 4 trouvés. intelephense(10005)
Est-ce que ça irait si je me contentais de :
return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name'],null,null);
Merci à tous pour vos réponses; aussi à deceze qui m'a corrigé sur la mauvaise manière d'attraper l'exception;
Voici le code modifié :
/**
* Se connecter à la base de données
*/
public function link() {
global $config; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name'], ini_get('mysqli.default_port'), ini_get('mysqli.default_socket'));
} catch (\exception $e) {
echo 'Impossible de se connecter à un serveur de base de données'; die();
}
}
Remarque, ceci est pour l'utilisation de la classe avec des espaces de noms...