[Module Recherche] Erreur : Cause inconnue invalid while request
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
Je sais plus si ce sujet a été évoqué, mais après les problèmes de placement du module Search et l'erreur 500 qu'il renvoyait à chaque requête, quand on tape une recherche et que l'on clique sur OK :
La première fois, on a ce message d'erreur
Caché :
Erreur : Cause inconnue invalid while request
(SELECT
24 AS id_search,
a.id AS id_content,
a.title AS title,
( 2 * MATCH(a.title) AGAINST('suivi') + MATCH(a.contents) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT('../articles/articles.php?id=',a.id),'&cat='),a.idcat) AS link
FROM phpboost_articles a
LEFT JOIN phpboost_articles_cats ac ON ac.id = a.idcat
WHERE
a.visible = 1 AND ((ac.aprob = 1 AND ac.auth LIKE '%s:3:"r-1";i:1;%') OR a.idcat = 0)
AND (MATCH(a.title) AGAINST('suivi') OR MATCH(a.contents) AGAINST('suivi'))
ORDER BY relevance DESC LIMIT 0, 10) UNION (SELECT 25 AS id_search,
d.id AS id_content,
d.title AS title,
( 3 * MATCH(d.title) AGAINST('suivi') + 2 * MATCH(d.short_contents) AGAINST('suivi') + MATCH(d.contents) AGAINST('suivi') ) / 6 * 1 AS relevance, CONCAT('../download/download.php?id=',d.id) AS link
FROM phpboost_download d
WHERE ( MATCH(d.title) AGAINST('suivi') OR MATCH(d.short_contents) AGAINST('suivi') OR MATCH(d.contents) AGAINST('suivi') ) AND d.idcat IN (2,1,3,4) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 26 AS id_search,
f.id AS id_content,
f.question AS title,
( 2 * MATCH(f.question) AGAINST('suivi') + MATCH(f.answer) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT(CONCAT(CONCAT('../faq/faq.php?id=',f.idcat),'&question='),f.id),'#q'),f.id) AS link
FROM phpboost_faq f
WHERE ( MATCH(f.question) AGAINST('suivi') OR MATCH(f.answer) AGAINST('suivi') ) AND f.idcat IN (1,2,3,4,5,6,7) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 27 AS `id_search`,
msg.id AS `id_content`,
t.title AS `title`,
MATCH(t.title) AGAINST('suivi') * 1 AS `relevance`,
CONCAT(CONCAT(CONCAT(CONCAT('..','/forum/topic.php?id='),t.id),'#m'),msg.id) AS `link`
FROM phpboost_forum_msg msg
JOIN phpboost_forum_topics t ON t.id = msg.idtopic
JOIN phpboost_forum_cats c ON c.level != 0 AND c.aprob = 1 AND c.id = t.idcat
WHERE MATCH(t.title) AGAINST('suivi')
GROUP BY t.id
ORDER BY relevance DESC LIMIT 0, 50) UNION (SELECT 28 AS id_search,
f.id AS id_content,
f.name AS title,
( 2 * MATCH(f.name) AGAINST('suivi') + MATCH(f.contents) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT('../media/media.php?id=',f.id),'&cat='),f.idcat) AS link
FROM phpboost_media f
WHERE ( MATCH(f.name) AGAINST('suivi') OR MATCH(f.contents) AGAINST('suivi') ) AND f.idcat IN (1,2) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 29 AS id_search,
n.id AS id_content,
n.title AS title,
( 2 * MATCH(n.title) AGAINST('suivi') + (MATCH(n.contents) AGAINST('suivi') + MATCH(n.extend_contents) AGAINST('suivi')) / 2 ) / 3 * 1 AS relevance, CONCAT('../news/news.php?id=',n.id) AS link
FROM phpboost_news n
WHERE ( MATCH(n.title) AGAINST('suivi') OR MATCH(n.contents) AGAINST('suivi') OR MATCH(n.extend_contents) AGAINST('suivi') )
AND visible = 1 AND ('1251808366' > start AND ( end = 0 OR '1251808366' < end ) )
ORDER BY relevance DESC LIMIT 0, 100)
Illegal mix of collations for operation 'UNION' 256
(SELECT
24 AS id_search,
a.id AS id_content,
a.title AS title,
( 2 * MATCH(a.title) AGAINST('suivi') + MATCH(a.contents) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT('../articles/articles.php?id=',a.id),'&cat='),a.idcat) AS link
FROM phpboost_articles a
LEFT JOIN phpboost_articles_cats ac ON ac.id = a.idcat
WHERE
a.visible = 1 AND ((ac.aprob = 1 AND ac.auth LIKE '%s:3:"r-1";i:1;%') OR a.idcat = 0)
AND (MATCH(a.title) AGAINST('suivi') OR MATCH(a.contents) AGAINST('suivi'))
ORDER BY relevance DESC LIMIT 0, 10) UNION (SELECT 25 AS id_search,
d.id AS id_content,
d.title AS title,
( 3 * MATCH(d.title) AGAINST('suivi') + 2 * MATCH(d.short_contents) AGAINST('suivi') + MATCH(d.contents) AGAINST('suivi') ) / 6 * 1 AS relevance, CONCAT('../download/download.php?id=',d.id) AS link
FROM phpboost_download d
WHERE ( MATCH(d.title) AGAINST('suivi') OR MATCH(d.short_contents) AGAINST('suivi') OR MATCH(d.contents) AGAINST('suivi') ) AND d.idcat IN (2,1,3,4) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 26 AS id_search,
f.id AS id_content,
f.question AS title,
( 2 * MATCH(f.question) AGAINST('suivi') + MATCH(f.answer) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT(CONCAT(CONCAT('../faq/faq.php?id=',f.idcat),'&question='),f.id),'#q'),f.id) AS link
FROM phpboost_faq f
WHERE ( MATCH(f.question) AGAINST('suivi') OR MATCH(f.answer) AGAINST('suivi') ) AND f.idcat IN (1,2,3,4,5,6,7) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 27 AS `id_search`,
msg.id AS `id_content`,
t.title AS `title`,
MATCH(t.title) AGAINST('suivi') * 1 AS `relevance`,
CONCAT(CONCAT(CONCAT(CONCAT('..','/forum/topic.php?id='),t.id),'#m'),msg.id) AS `link`
FROM phpboost_forum_msg msg
JOIN phpboost_forum_topics t ON t.id = msg.idtopic
JOIN phpboost_forum_cats c ON c.level != 0 AND c.aprob = 1 AND c.id = t.idcat
WHERE MATCH(t.title) AGAINST('suivi')
GROUP BY t.id
ORDER BY relevance DESC LIMIT 0, 50) UNION (SELECT 28 AS id_search,
f.id AS id_content,
f.name AS title,
( 2 * MATCH(f.name) AGAINST('suivi') + MATCH(f.contents) AGAINST('suivi') ) / 3 * 1 AS relevance, CONCAT(CONCAT(CONCAT('../media/media.php?id=',f.id),'&cat='),f.idcat) AS link
FROM phpboost_media f
WHERE ( MATCH(f.name) AGAINST('suivi') OR MATCH(f.contents) AGAINST('suivi') ) AND f.idcat IN (1,2) ORDER BY relevance DESC LIMIT 0, 100) UNION (SELECT 29 AS id_search,
n.id AS id_content,
n.title AS title,
( 2 * MATCH(n.title) AGAINST('suivi') + (MATCH(n.contents) AGAINST('suivi') + MATCH(n.extend_contents) AGAINST('suivi')) / 2 ) / 3 * 1 AS relevance, CONCAT('../news/news.php?id=',n.id) AS link
FROM phpboost_news n
WHERE ( MATCH(n.title) AGAINST('suivi') OR MATCH(n.contents) AGAINST('suivi') OR MATCH(n.extend_contents) AGAINST('suivi') )
AND visible = 1 AND ('1251808366' > start AND ( end = 0 OR '1251808366' < end ) )
ORDER BY relevance DESC LIMIT 0, 100)
Illegal mix of collations for operation 'UNION' 256
Et si l'on retourne sur la page précédente et que l'on reclique sur OK, le message d'erreur n'apparait plus mais la recherche aboutit à :
Code TEXT :
Tous les résultats Aucun résultat n'a été trouvé
Alors que normalement il devrait y avoir des résultats.
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
Il faut que j'exécute les 4 requêtes sql décrites ci-dessous car j'ai des tables avec l'interclassement latin1_swedish_ci ?
Caché :
Si jamais toutes les collations ne sont pas identiques, alors il peut être utile d'utiliser les requêtes générer par les requêtes suivantes.
Code SQL :
et SELECT TABLE_NAME, table_collation FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'phpboost_%';
Code SQL :
SELECT TABLE_NAME, column_name, column_type, collation_name, character_set_name FROM information_schema.COLUMNS WHERE TABLE_NAME LIKE 'phpboost_%' AND collation_name != ''
Si jamais toutes les collations ne sont pas identiques, alors il peut être utile d'utiliser les requêtes générer par les requêtes suivantes.
Code SQL :
etSELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` character SET latin1 COLLATE latin1_swedish_ci;') FROM information_schema.TABLES WHERE TABLE_NAME LIKE 'phpboost_%' AND table_collation LIKE 'latin%';
Code SQL :
SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` modify column `', column_name, '` ', column_type, ' character SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL;') FROM information_schema.COLUMNS WHERE TABLE_NAME LIKE 'phpboost_%' AND collation_name LIKE 'latin%' ORDER BY column_type DESC;
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Ceci est donné en regardant le résultat de l'exécution des 2 premières requêtes.
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
Bon du coup je l'ai téléchargé et installé et l'interclassement est latin1_swedish_ci
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Pour cela, exécutes les deux dernières requêtes. Elles vont lister les alter à faire et tu devras tous les jouer.
(Mets les dans un script, ça ira plus vite)
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
horn :
(Mets les dans un script, ça ira plus vite)
Désolé mais qu'est ce que je dois mettre dans un script ?
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
- Je lance la première requête
- Je copie la première ligne de commande
Code :CONCAT('ALTER TABLE `', table_name, '` character SET latin1 COLLATE latin1_swedish_ci;') - puis toutes les lignes ALTER TABLE du style
Code :ALTER TABLE `phpboost_articles` character SET latin1 COLLATE latin1_swedish_ci;
dans un fichier (.bat ça ira ?), et je colle ce fichier dans REQUETES SQL et je l'éxécute ? - Je lance la deuxième requête
- Je copie la première ligne de commande
Code :CONCAT('ALTER TABLE `', table_name, '` modify column `', column_name, '` ', column_type, ' character SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL;') - puis toutes les lignes ALTER TABLE du style
Code :ALTER TABLE `phpboost_forum_topics` modify column `subtitle` varchar(75) character SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL;
dans un fichier (.bat ça ira ?), et je colle ce fichier dans REQUETES SQL et je l'éxécute ?
Édité par infoking1 Le 01/09/2009 à 17h58
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Attends qu'il revienne, il devrait être là dans pas longtemps.
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Tu colles les résultats dans un fichier .sql
Tu fais pareil avec la deuxième requête.
Dans ton fichier sql, tu ne doit avoir que les lignes contenant les ALTER, pas de caractères de mise en page ou autre qui pourrait être résiduel après le copier / coller des résultats dans ton fichier sql
Ensuite tu importes ton fichier sql via phpmyadmin ou via le système de restauration de base de données de phpboost
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
infoking1 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre infoking1
- Inscrit le : 29/09/2008
- Site internet
- Groupes :
Dans les fichier sql j'y colle la totalité du résultat y compris les premières lignes
Code :
CONCAT('ALTER TABLE `', table_name, '` character SET latin1 COLLATE latin1_swedish_ci;')et
Code :
CONCAT('ALTER TABLE `', table_name, '` modify column `', column_name, '` ', column_type, ' character SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL;')ou uniquement les lignes ALTER TABLE ?
PS : Excuses moi de demander autant de précisions, mais je préfère passer pour un nul que de faire des conneries.
Gérez vos comptes bancaires de façon simple et efficace avec BanqueManager
Téléchargement gratuit ici
Téléchargement gratuit ici
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
horn :
Dans ton fichier sql, tu ne doit avoir que les lignes contenant les ALTER
Uniquement les lignes commençant par ALTER, pas les CONCAT.
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie