| :: |
| Auteur |
Message |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
Posté le: Mer Jan 24, 2007 3:52 pm Sujet du message: Erreur PHP / mysql |
|
|
Une question Hors référencement mais je n'ai jamais eu de réponse sur phpbb-fr.com et comme il y a des bons en PHP ici, je tente
J'ai une erreur sur les résultats de recherche de l'annuaire de Genova
| Code: | Warning: mysql_fetch_array(): 38 is not a valid MySQL result resource in
/home/www/589e794be9a61212261fd3b060774abf2/web/db/mysql4.php on line 214 |
Erreur systématique quelle que soit la recherche, il me semble que cette erreur est apparue après le passage des bases sur mysql 5, en tout cas les mêmes fichiers fonctionne sur Free ... |
_________________ Philippe
Webmaster du forum de Discussions sur la New Beetle | Blog 123-newbeetle | Annuaire Automobile | Forum Scirocco |
|
| Revenir en haut de page |
|
 |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15380
|
Posté le: Mer Jan 24, 2007 3:59 pm Sujet du message: Re: Erreur PHP / mysql |
|
|
Comme c'est un warning, tu dois pouvoir lui tordre le coup en mettant un @ devant la fonction :
| Code: | | @mysql_fetch_array() |
A l'endroit ou elle est appelée, dans db/mysql4.php donc.
A priori, c'est juste une histoire de résultats NULL, que le code doit pouvoir gérer sans changement pour peu qu'il fasse pas genre un foreach sur le resultat d'un requête NULL, ce qui provoquerait une deuxième erreur.
C'est pas très étonnant que mysql 5 soit plus tatillon sur certains points, comme ce fut le cas en la 3 et la 4.
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
Posté le: Mer Jan 24, 2007 4:11 pm Sujet du message: Re: Erreur PHP / mysql |
|
|
Yes plus d'erreur mais en fait la fonction de recherche de l'annuaire ne me renvoie jamais de résultat valide avec mysql 5.
Même si le mot recherché est dans un site de l'annuaire, j'ai toujours un résultat nul.
Ca doit encore être une histoire de LEFT JOIN que mysql5 n'apprécie pas. |
_________________ Philippe
Webmaster du forum de Discussions sur la New Beetle | Blog 123-newbeetle | Annuaire Automobile | Forum Scirocco |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15380
|
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
Posté le: Mer Jan 24, 2007 4:18 pm Sujet du message: Re: Erreur PHP / mysql |
|
|
| Code: | /*
** Si le formulaire de recherche est soumis ...
*/
$have_search = FALSE;
if (isset($HTTP_POST_VARS['submit']))
{
if (!empty($keyword))
{
$keytab = explode(' ', $keyword);
$count_key = count($keytab);
$ssql = ' WHERE ';
for ($i = 0; $i < $count_key; $i++)
{
$ssql .= ' (a.annu_lien_description LIKE \'%' . $keytab[$i] . '%\' OR a.annu_site_name LIKE \'%' . $keytab[$i] . '%\') ' . (($i < ($count_key - 1)) ? $method : '');
}
if (!empty($cat))
{
$ssql .= " AND a.annu_lien_cat = '$cat' ";
}
$sql = 'SELECT a.*, c.*, u.user_id, u.username FROM ' . ANNU_LIEN_TABLE . ' a
LEFT JOIN ' . ANNU_CAT_TABLE . ' c
ON a.annu_lien_cat = c.annu_cat_id
LEFT JOIN ' . USERS_TABLE . ' u
ON u.user_id = a.annu_lien_membre_id
' . $ssql . '
AND a.annu_lien_active = \'1\'
ORDER BY a.annu_site_name ASC';
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Impossible de récupérer les données de la table de lien d\'annuaire', '', __LINE__, __FILE__, $sql);
}
$have_search = TRUE;
}
else
{
message_die(GENERAL_ERROR, $lang['annu_erreur_keyword']);
}
}
|
| Code: | /*
** S'il y a eu une recherche.
*/
if ($have_search)
{
$template->assign_block_vars('result', array());
$have_result = FALSE;
while ($data = $db->sql_fetchrow($result))
{
$have_result = TRUE;
/*
** URL du site.
*/
$u_site = append_sid($phpbb_root_path . 'annuaire.' . $phpEx . '?mode=view_url&url_id=' . $data['annu_lien_id']);
/*
** On s'occupe de la banière.
*/
$s_banner = '';
$have_banner = FALSE;
if (!empty($data['annu_site_banner']))
{
list($width, $height) = @getimagesize($data['annu_site_banner']);
if ($width > $board_config['annu_banner_width'] || $height > $board_config['annu_banner_height'])
{
$coef_w = $width / $board_config['annu_banner_width'];
$coef_h = $height / $board_config['annu_banner_height'];
$coef_max = max($coef_w, $coef_h);
$width /= $coef_max;
$height /= $coef_max;
}
$s_banner = '<a href="' . $u_site . '" target="_blank"><img src="' . $data['annu_site_banner'] . '" width="' . $width . '" height="' . $height . '" border="0" alt="" /></a>';
$have_banner = TRUE;
}
|
|
_________________ Philippe
Webmaster du forum de Discussions sur la New Beetle | Blog 123-newbeetle | Annuaire Automobile | Forum Scirocco |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15380
|
Posté le: Mer Jan 24, 2007 5:10 pm Sujet du message: Re: Erreur PHP / mysql |
|
|
Alors, j'ai pas d'installe du mod sous la main, donc, a tester (surtout pour les LIKE de $ssql), mais je dirais :
A remplacer par :
Et :
| Code: | if (!empty($cat))
{
$ssql .= " AND a.annu_lien_cat = '$cat' ";
} |
Par :
| Code: | $ssql2 = '';
if (!empty($cat))
{
$ssql2 = " a.annu_lien_cat = '$cat' AND ";
} |
Et pour la requète :
| Code: | $sql = "SELECT a.*, c.*, u.user_id, u.username
FROM " . ANNU_LIEN_TABLE . " AS a, " . ANNU_CAT_TABLE . " AS c, " . USERS_TABLE . " AS u
WHERE $ssql2 c.annu_cat_id = a.annu_lien_cat
AND a.annu_lien_active = 1
AND u.user_id = a.annu_lien_membre_id
$ssql
ORDER BY a.annu_site_name ASC"; |
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15380
|
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
Posté le: Sam Jan 27, 2007 12:01 pm Sujet du message: Re: Erreur PHP / mysql |
|
|
Bon à force de chercher et en ajoutant des echo sur les variables pour debugger, j'ai fini par trouver.
Le problème ne vient pas de php, ni de mysql 5 donc pas de mon upgrade de serveur mais tout simplement de l'ajout dans page_header.php des fonctions de hack_list du download mod
 |
_________________ Philippe
Webmaster du forum de Discussions sur la New Beetle | Blog 123-newbeetle | Annuaire Automobile | Forum Scirocco |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15380
|
|
| Revenir en haut de page |
|
 |
philippe phpBB SEO Team


Inscrit le: 23 Juin 2006 Messages: 541 Localisation: Région Parisienne
|
|
| Revenir en haut de page |
|
 |
|
|