[SPIP Zone] [Spip-zone-commit] r117771 - _plugins_/zippeur/trunk

Hello,

Je rebondis sur ce commit à propos de l’utilisation de l’API SQL.
La correction est l’ajout d’une quote manquante (en vert foncé autour de $extension" :
$enbase = sql_fetsel(‹ id_zip,fichiers,date_modif ›,‹ spip_zippeur ›,"nom=’$nom’ and extension=’$extension’");

Je trouve que cette écriture est bien compliquée (d’ailleurs on a oublié une quote) en utilisant 3 types de quotes différentes et donc pas hyper maintenable surtout quand on a la possibilité d’utiliser les features de l’API pour simplifier l’écriture de la façon suivante:

$select = array(‹ id_zip ›, ‹ fichiers ›, ‹ date_modif ›);
$where = array(« nom= » . sql_quote($nom), « extension= » . sql_quote($extension));
$enbase = sql_fetsel($select, ‹ spip_zippeur ›, $where);

Ne devrions nous pas encourager ce type d’écriture plus maintenable à mon avis et faire les modifications au fil des commits ?

Tu as parfaitement raison sur le fond.
Simplement j'éais un peu pressé par le temps.
Le dimanche 08 septembre 2019 à 11:09 +0200, Eric Lupinacci a écrit :

Hello,

Je rebondis sur ce commit à propos de l'utilisation de l'API SQL.
La correction est l'ajout d'une quote manquante (en vert foncé autour
de $extension" :
$enbase =
sql_fetsel('id_zip,fichiers,date_modif','spip_zippeur',"`nom`='$nom'
and `extension`='$extension'");

Je trouve que cette écriture est bien compliquée (d'ailleurs on a
oublié une quote) en utilisant 3 types de quotes différentes et donc
pas hyper maintenable surtout quand on a la possibilité d'utiliser les
features de l'API pour simplifier l'écriture de la façon suivante:

$select = array('id_zip', 'fichiers', 'date_modif');
$where = array("nom=" . sql_quote($nom), "extension=" .
sql_quote($extension));
$enbase = sql_fetsel($select, 'spip_zippeur', $where);

Ne devrions nous pas encourager ce type d'écriture plus maintenable à
mon avis et faire les modifications au fil des commits ?

++
Eric

Ok.