Incohérence dans les codes de retour de l'API sql
Les fonctions sql_update* renvoient true ou false en cas de succés/échec, mais les fonctions sql_insert* renvoient 0 ou NULL
Du coup, la fonction spip_sql_erreur() n'est jamais appelée :
function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $option=true) { $f = sql_serveur('insertq', $serveur, $option==='continue' OR $option===false); if (!is_string($f) OR !$f) return false; $r = $f($table, $couples, $desc, $serveur, $option!==false); if ($r === false) spip_sql_erreur($serveur); return $r; }
Et ça ne facilite pas les tests d'erreurs sur des requetes critiques dans son propre code :
if( sql_update()===false )... if( sql_insert()===null )...