Valider e6c73702 rédigé par esj's avatar esj
Parcourir les fichiers

C'est un bug de MySQL mais j'ai vu comment le contourner. Incroyable:

 SELECT COUNT(*)
 FROM   `spip_signatures` AS signatures,
     `spip_petitions` AS petitions,
     `spip_articles` AS articles
 WHERE (signatures.id_article = '2666')
     AND (petitions.id_article=signatures.id_article)
     AND (petitions.id_article=articles.id_article)

retourne 0 signatures comme il le devrait mais

 SELECT COUNT(*)
 FROM   `spip_signatures` AS signatures,
     `spip_petitions` AS petitions,
     `spip_articles` AS articles
 WHERE (signatures.id_article = '2666')
     AND (petitions.id_article=articles.id_article)
     AND (petitions.id_article=signatures.id_article)

retourne toutes les signatures du site.
Le premmier qui dit que AND est commutatif a perdu.
parent 3b139d4c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -144,8 +144,8 @@ function boucle_SIGNATURES_dist($id_boucle, &$boucles) {
	$boucle->from[$id_table] =  "spip_signatures";
	$boucle->from["petitions"] =  "spip_petitions";
	$boucle->from["articles"] =  "spip_articles";
	$boucle->where[] = "petitions.id_article=articles.id_article";
	$boucle->where[] = "petitions.id_article=$id_table.id_article";
	$boucle->where[] = "petitions.id_article=articles.id_article";

	// Restreindre aux elements publies
	if (!$boucle->statut) {