salut,
il n'y a pas d'avantage majeurs à l'un ou l'autre.
La différence majeur c'est mysqli ets liée à mysql alors que PDO non (équivalent du jdbc java si tu connais).
Donc avec PDO tu peux potentiellement changer de type de base de donnée sans toucher au code.
Dans la pratique étant donné que personne n'est capable / ne veux respecter les normes SQL tu finiras toujours par pondre du code spécifique au SGBD cible donc l'argument n'est valable que si tu penses que tu vas changer à un moment ou un autre. (perso il m'arrive de commencer par tester avec mysqli puis de m'orienter ensuite vers un autre sgbd).
L'argument des marqueurs nommés est bon pour la lisibilité du code, en dehors de cela aucun intérêt. Mais la lisibilité du code est primordiale pour une maintenance simple est rapide (insert into latable values(:nom,:prenom, :motdepasse) c'est quand même plus facile à lire que insert into latable values(?,?,?) ).
Perso j'ai fait une application qui peu avoir en cible mysql ou oracle, ou postgre sql ou sqlite (et déclinable pour tout driver de PDO) il m'a fallu gérer des requêtes spécifique SGBD mais toujours avec PDO et une seule connexion définie dans le fichier de conf.
Après si l'on descends au niveau du code je préfère le fetch de PDO (qui est configurable dès la connexion et pas besoin de chercher si on fetch_row, assoc, array, object, all...).
Cela reste surtout un ressentis, si tu te sens à l'aise avec PDO garde, si c'est mysqli et que tu n'utiliseras que mysql c'est bien aussi.
Dernière aspect important : la POO. si tu code en procédurale (quelques que soient tes raisons tu as le droit ça fonctionne très bien) tu peux le faire avec mysqli sans trop de modification depuis mysql et passer en douceur.
Si tu veux passer à la POO tu peux commencer a familiariser à la syntaxe d'utilisation avec PDO même s'il serait préférable de commencer par un court.
Bref tous ça pour te dire que tu as deux outils équivalents et que dans ce cas c'est toujours celaui avec lequel on se sens le mieux que l'on va bosser.
Pas la peine de d'imposer un truc si c'est pas utile au final.
et dans les deux cas ne prends les requêtes préparées comme arguments utiliser l'un ou l'autre car tous les deux ne font pas de "vrai" requêtes préparées sur le serveur (en pdo c'est configurable). Les personnes qui avance cet argument c'est pour éviter de rabâcher aux gens de "protéger" les données que l'on manipule dans les requêtes et que, dans certaines mesures, les requêtes préparées le fond pour toi.
voila test, amuse toi et quand tu te sens bien avec l'un ou l'autre fait ton choix
ah dernière chose, l'argument performance est justifiable si ton application à réellement beaucoup, beaucoup de requêtes c'est pas avec 5000 visites par jours qu'il faut s’inquiéter

(en fait beaucoup d'application n'ont pas a ce soucier de cela la charge étant simplement absorbée tranquillement par les machines

).
@+