Mysql
 sql >> Base de données >  >> RDS >> Mysql

Meilleure méthode pour supprimer plusieurs lignes dans une base de données MySQL avec PHP ?

Je ne suis pas un expert, mais je crois

$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");

est plus rapide. La raison en est qu'il ne fait qu'une seule requête. Moins de données sont envoyées au serveur et tout est traité en une seule fois, en une seule commande.

En général, avec l'autre méthode, si vous avez, par exemple, 300 valeurs, cela signifie que vous effectuez 300 appels de fonction supplémentaires, 300 communications avec le serveur, etc., mais en pratique, cela peut varier.

edit :De plus, vous devez toujours utiliser l'échappement MySQL approprié, même si vous pouvez être sûr que les données ne sont pas malveillantes. Voir http://php.net/manual/en/ function.mysql-real-escape-string.php et pensez à utiliser mysqli ou PDO.