Help ! Erreur SQL après installation réussie

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Help ! Erreur SQL après installation réussie

Message le Sam Déc 25, 2004 23:37

Bonsoir,

Après avoir dézippé et transféré via ftp la v1.1 beta sans problème sur mon site, j'ai lancé l'install par "mon_site/robotstats/admin/install.php" après avoir fait une modif dans le fichier config.php, où j'ai mis :
$RS_CONNECT = @mysql_connect ("sql.free.fr", "mon_login", "mon_password");
$RS_DB = @mysql_select_db("free.fr");

sans savoir si c'était ce qu'il fallait faire, au pifomètre quoi :-)
Vous aurez compris que mon site est hébergé chez Free.

Ca a réussi (enfin, je suppose) car j'ai eu le msg suivant :

Installation des tables MySQL terminée.
Il vous reste encore 1 chose à faire !!!
Dans le fichier robotstats.inc.php, la variable RS_DIR doit être égale à : /var/www/free.fr/b/f/mon_site/robotstats/
L'installation est terminée. Pensez à supprimer le fichier install.php de votre serveur. Cliquez ici pour revenir à l'accueil.

J'ai modifié la variable RS_DIR de robotstats.inc.php comme demandé.

En cliquant sur le mot "ici", un menu s'affiche en haut de la page avec :

Reset (supression d'enregistrements)
Vérifier si vous avez la dernière version de RobotStats
Gestion des robots

Quand je clique sur "Gestion des robots", j'obtiens la page suivante :

Gestion des robots
Ajouter un nouveau robot

Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/b/f/mon_site/robotstats/admin/robots.lib.php on line 24
Erreur: SELECT * FROM rs_robots ORDER BY nom ASC Unknown MySQL Server Host 'mon_site.sql.free.fr' (2)

Et là, je fais appel à vos lumières car je cale. J'ai essayé de trouver dans les archives mais vu le nombre de pages à lire, j'ai jeté l'éponge après en avoir lu une vingtaine.

Qui pourrais me dire où j'ai fait une erreur ?
N'est-ce pas pour commencer dans le fichier config.php ?

Merci à tous

spijoelx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 249
Inscription: Ven Fév 06, 2004 20:04

Message le Sam Déc 25, 2004 23:43

$RS_DB = @mysql_select_db("free.fr");

le nom de la base c'est ton login normalement

http://support.free.fr/web/php/mysql.html

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Merci pour le lien !

Message le Dim Déc 26, 2004 0:23

J'ai fait les modifs, ça ne marche toujours pas, mais comme j'avais activé la base SQL pour mon login principal et non pour le compte secondaire où est mon site perso, c'est peut-être à cause de ça.

Cela devrait rentrer dans l'ordre demain, on verra bien.

@+

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Ven Déc 31, 2004 19:01

Bonsoir,

J'ai activé le SQL sur mon site, mais Robostats continue à me faire des misères avec le message d'errreur suivant :

Erreur: SELECT id FROM rs_robots Table 'infosradars.rs_robots' doesn't exist

Qu'est-ce donc ?

Merci de m'aider et bon réveillon à tous.

Lionel

Pez
Nouveau WRInaute
 
Messages: 3
Inscription: Jeu Jan 06, 2005 1:44

Message le Jeu Jan 06, 2005 15:36

Lionelfzs a écrit:Bonsoir,

J'ai activé le SQL sur mon site, mais Robostats continue à me faire des misères avec le message d'errreur suivant :

Erreur: SELECT id FROM rs_robots Table 'infosradars.rs_robots' doesn't exist

Qu'est-ce donc ?

Merci de m'aider et bon réveillon à tous.

Lionel


Tout simplement ton fichier install qui n'a pas fait son boulot.

Va dans ta base sql et fait une requête avec ça :
http://www.webrankinfo.com/forums/viewtopic_20605.htm

il te restera plus qu'à mettre les robots.

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Jeu Jan 06, 2005 19:06

Ca a marché en tapant les requêtes sql sur mon site. Merci à toi !!

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Jeu Jan 06, 2005 19:25

Euh, l'ajout des robots a réussi mais j'aiune autre erreur :

Erreur: SELECT id FROM rs_log WHERE TO_DAYS(date) = TO_DAYS('2005-1-6') AND robot=11 AND url LIKE '%%' Table 'infosradars.rs_log' doesn't exist.

Est-ce parce qu'aucun robots n'est passé ?
Les tables "rs_robot" et "rs_log" existent bient sur mon site.

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Jeu Jan 06, 2005 19:34

Bon, en mettant les bons noms de table, ça a marché, ouf !

Pez
Nouveau WRInaute
 
Messages: 3
Inscription: Jeu Jan 06, 2005 1:44

Message le Jeu Jan 06, 2005 20:30

Lionelfzs a écrit:Bon, en mettant les bons noms de table, ça a marché, ouf !


oui il te fallait les changer, je les avais mis en gras !

Content de voir que ça marche, moi aussi j'ai galeré sur le même problème que toi !

davidman
Nouveau WRInaute
 
Messages: 22
Inscription: Jeu Déc 30, 2004 11:30

Message le Lun Jan 10, 2005 21:36

kan tu dit ke tu as mis la variable rs_dir

tu as mis quoi exactement ?

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Lun Jan 10, 2005 21:59

J'ai mis :

$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
dans robotstats.inc.php

et

$RS_TABLE_LOG = "rs_log"; // nom de la table stockant les visites
$RS_TABLE_ROBOTS = "rs_robots"; // nom de la table definissant les robots
dans config.php

Par contre, aucune visite depuis que j'ai installé le biniou il y a une semaine. Est-ce normal ou ai-je oublié qqch ?

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Lun Jan 10, 2005 22:02

Pour mes robots, j'ai cette liste :

Robots activés :

Alexa [info]
Almaden [info]
Ask Jeeves [info]
ASP seek [info]
DeepIndex [info]
Fast [info]
Google WAP [info]
GoogleBot [info]
GoogleBot 2 [info]
Googlebot-Image [info]
Lycos Spider (T-Rex) [info]
Mediapartner [info]
Mercator (Altavista) [info]
MSN Bot [info]
Openfind [info]
Pompos [info]
Scooter (Altavista) [info]
Slurp (Inktomi) [info]
SlySearch [info]
test [info]
VoilaBot [info]
W3C [info]
Wanadoo [info]
Yahoo! Slurp [info]
ZyBorg (WiseNut) [info]

Robots désactivés :

davidman
Nouveau WRInaute
 
Messages: 22
Inscription: Jeu Déc 30, 2004 11:30

Message le Lun Jan 10, 2005 22:08

Lionelfzs a écrit:J'ai mis :

$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";
dans robotstats.inc.php


dsl mais ou tu as mis ca
moi dans mon fichier robostats.inc.php

j ai ca
Code: Tout sélectionner
include($DOCUMENT_ROOT.'/'.$RS_DIR.'/lang.'.$RS_LANGUE.'.php');


et je ne retrouve RS_DIR nul part ailleur sur le fichier :roll:

Lionelfzs
Nouveau WRInaute
 
Messages: 19
Inscription: Sam Déc 25, 2004 0:21

Message le Lun Jan 10, 2005 22:13

Voici mon fichier robostats.inc.php complet :

<?php

/***************************************************************************
*
* RobotStats
*
* Author: Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com )
* Version: 2.1-beta
* Date: 2003-06-07
* Homepage: http://www.robotstats.com
*
***************************************************************************/

if (!defined("robotstats_inc"))
{
define("robotstats_inc", "robotstats_inc_ok");

//-------------------------------------------------------------------------
// constantes
//-------------------------------------------------------------------------
// PENSEZ à METTRE A JOUR CETTE VARIABLE ! Voir admin/root.php
// exemple : $RS_DIR = /home/web/votresite/robotstats/
$RS_DIR = "/var/www/free.fr/b/f/infosradars/robotstats/";

//-------------------------------------------------------------------------
// inclusions
//-------------------------------------------------------------------------
// fichier de configuration
require($RS_DIR.'./admin/config.php');

// fichier de dictionnaire
require($RS_DIR.'./lang.'.$RS_LANGUE.'.php');

//-------------------------------------------------------------------------
// fonction d'envoi d'un message par mail pour les erreurs MySQL
//-------------------------------------------------------------------------
function sendErrorMySQL($sql)
{
global $RS_SEND_ERROR_MYSQL, $RS_ADRESSE_EMAIL, $RS_LANG;

if ($RS_SEND_ERROR_MYSQL == 'y')
{
$content = $RS_LANG["MySQLErrorBody1"].mysql_error()."\n".$sql."\n\n".$RS_LANG["MySQLErrorBody2"]."\n\n";
$content .= "DATE : ".date("d/m/Y H:i")."\n";
$content .= "REMOTE HOST : ".$_SERVER["REMOTE_HOST"]."\n";
$content .= "REMOTE ADDR : ".$_SERVER["REMOTE_ADDR"]."\n";
$content .= "REQUEST_METHOD : ".$_SERVER["REQUEST_METHOD"]."\n";
$content .= "REQUEST_URL : ".$_SERVER['REQUEST_URL']."\n";
$content .= "REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";
$content .= "QUERY_STRING : ".$_SERVER["QUERY_STRING"]."\n";
$content .= "HTTP_REFERER : ".$_SERVER["HTTP_REFERER"]."\n";
$content .= "BROWSER : ".$_SERVER["HTTP_USER_AGENT"]."\n";
$content .= "REDIRECT_URL : ".$REDIRECT_URL."\n";

@mail($RS_ADRESSE_EMAIL, $RS_LANG["MySQLErrorSubject"],
$content,
"From: $RS_ADRESSE_EMAIL");
}
}


//-------------------------------------------------------------------------
// debut du script
//-------------------------------------------------------------------------


// pour compatibilité avec les anciennes versions de PHP
if (!isset($_SERVER))
$_SERVER = $HTTP_SERVER_VARS;

// par defaut le robot n'est pas détecté
$detecte = false;

// pour chaque robot (sauf ceux qui sont désactivés)
$sql = "SELECT *";
$sql .= " FROM ".$RS_TABLE_ROBOTS;
$sql .= " WHERE actif=1";
$res = mysql_query($sql) or sendErrorMySQL($sql);

// tant qu'aucun robot n'a été détecté, et qu'il y en a à tester
while ( !($detecte) && ($enr = @mysql_fetch_array($res)) )
{
// selon le mode de détection du robot :
if ($enr["detection"] == $RS_DETECTION_USER_AGENT)
{
// on détecte le robot en regardant son User Agent
$detecte = (stristr($_SERVER["HTTP_USER_AGENT"], $enr["user_agent"]) !== false);
}
else if ($enr["detection"] == $RS_DETECTION_IP)
{
// on détecte le robot par son adresse IP
$detecte = false;

// cas du robot test
if ($enr["ip1"] == ".")
$detecte = true;
else
{
if ($enr["ip1"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip1"])), $enr["ip1"]) !== false );
}
if ($enr["ip2"] != "")
{
$detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip2"])), $enr["ip2"]) !== false );
}
}
}

// si le robot a été détecté, on enregistre sa visite
if ($detecte)
{
// date, adresse IP du robot et nom de domaine
$robot_ = $enr["id"];
$date_ = date("Y-m-d H:i:s");
$ip_ = $_SERVER["REMOTE_ADDR"];
$dns_ = @gethostbyaddr($ip_);
$code_ = $_SERVER["REDIRECT_STATUS"];

// récupération de l'URL (située après le nom de domaine)
if ($RS_URL_REWRITING == 'y')
{
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
else
{
$url_ = $_SERVER["SCRIPT_NAME"];
if ($_SERVER["QUERY_STRING"] != "")
$url_ .= "?".$_SERVER["QUERY_STRING"];
}

// test du debut du Full Crawl
if ($RS_TEST_FULL_CRAWL == 'y')
{
// si le robot est le GoogleBot Full Crawl
if ( strstr($_SERVER["REMOTE_ADDR"], $RS_FULL_CRAWL_IP) !== false )
{
// on va chercher s'il est déjà venu dans les $RS_NB_J_DET_FULL_CRAWL
// derniers jours
$sql3 = "SELECT id";
$sql3 .= " FROM ".$RS_TABLE_LOG;
$sql3 .= " WHERE ip LIKE '".$RS_FULL_CRAWL_IP."%'";
$sql3 .= " AND (TO_DAYS(NOW()) - TO_DAYS(date)) <= ".$RS_NB_J_DET_FULL_CRAWL;

$res3 = mysql_query($sql3) or sendErrorMySQL($sql3);

// si la requete n'a donné aucun résultat, c'est sans doute le
// début du Full Crawl : on envoie un mail
if ( (mysql_num_rows($res3) == 0) &&
!file_exists($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt') )
{
@mail($RS_ADRESSE_EMAIL,
$RS_LANG["FullCrawlBeginSubject"],
$RS_LANG["FullCrawlBeginBody"],
"From: $RS_ADRESSE_EMAIL");
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt', 'w');
fclose($fp);
}
}

} // fin du test sur le Full Crawl

// requete MySQL d'insertion de la visite
$sql2 = "INSERT INTO ".$RS_TABLE_LOG;
$sql2 .= " (robot, url, date, ip, dns, code) VALUES ('$robot_', '$url_', '$date_', '$ip_', '$dns_', '$code_')";
$res2 = mysql_query($sql2) or sendErrorMySQL($sql2);

} // fin du cas où un robot a été détecté

} // fin de la boucle sur les robots

}
?>

davidman
Nouveau WRInaute
 
Messages: 22
Inscription: Jeu Déc 30, 2004 11:30

Message le Lun Jan 10, 2005 22:16

ha bah je comprend mieux j ai pas ca du tout moi !
Code: Tout sélectionner
<?php

/***************************************************************************
*
*   RobotStats
*
* Author:   Olivier Duffez, WebRankInfo ( http://www.webrankinfo.com )
* Version:  1.0
* Date:     2003-10-11
* Homepage: http://www.robotstats.com   
*
***************************************************************************/

if (!defined("robotstats_inc"))
{
   define("robotstats_inc", "robotstats_inc_ok");

  //-------------------------------------------------------------------------
  // inclusions
  //-------------------------------------------------------------------------
  // fichier de configuration
  include($DOCUMENT_ROOT.'/robotstats/admin/config.php');

  // fichier de dictionnaire
  include($DOCUMENT_ROOT.'/'.$RS_DIR.'/lang.'.$RS_LANGUE.'.php');

  //-------------------------------------------------------------------------
  // fonction d'envoi d'un message par mail pour les erreurs MySQL
  //-------------------------------------------------------------------------
  function sendErrorMySQL($sql)
  {
    global $RS_SEND_ERROR_MYSQL, $RS_ADRESSE_EMAIL, $RS_LANG;

    if ($RS_SEND_ERROR_MYSQL == 'y')
    {
      @mail($RS_ADRESSE_EMAIL, $RS_LANG["MySQLErrorSubject"],
        $RS_LANG["MySQLErrorBody1"].$sql."\n".$RS_LANG["MySQLErrorBody2"],
        "From: $RS_ADRESSE_EMAIL");
    }
  }

  //-------------------------------------------------------------------------
  // debut du script
  //-------------------------------------------------------------------------

  // pour compatibilité avec les anciennes versions de PHP
  if (!isset($_SERVER))
    $_SERVER = $HTTP_SERVER_VARS;

  // par defaut le robot n'est pas détecté
  $detecte = false;

  // pour chaque robot (sauf ceux qui sont désactivés)
  $sql  = "SELECT *";
  $sql .= " FROM ".$RS_TABLE_ROBOTS;
  $sql .= " WHERE actif=1";
  $res  = mysql_query($sql) or sendErrorMySQL($sql);

  // tant qu'aucun robot n'a été détecté, et qu'il y en a à tester
  while ( !($detecte) && ($enr = @mysql_fetch_array($res)) )
  {
    // selon le mode de détection du robot :
    if ($enr["detection"] == $RS_DETECTION_USER_AGENT)
    {
      // on détecte le robot en regardant son User Agent
      $detecte = (stristr($_SERVER["HTTP_USER_AGENT"], $enr["user_agent"]) !== false);
    }
    else if ($enr["detection"] == $RS_DETECTION_IP)
    {
      // on détecte le robot par son adresse IP
      $detecte = false;
      if ($enr["ip1"] != "")
      {
        $detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip1"])), $enr["ip1"]) !== false );
      }
      if ($enr["ip2"] != "")
      {
        $detecte |= ( strstr(substr($_SERVER["REMOTE_ADDR"], 0, strlen($enr["ip2"])), $enr["ip2"]) !== false );
      }
    }

    // si le robot a été détecté, on enregistre sa visite
    if ($detecte)
    {
      // date, adresse IP du robot et nom de domaine
      $robot_ = $enr["id"];
      $date_  = date("Y-m-d H:i:s");
      $ip_    = $_SERVER["REMOTE_ADDR"];
      $dns_   = @gethostbyaddr($ip_);
      $code_  = $_SERVER["REDIRECT_STATUS"];

      // récupération de l'URL (située après le nom de domaine)
      if ($RS_URL_REWRITING == 'y')
      {
        $url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
      }
      else
      {
        $url_ = $_SERVER["SCRIPT_NAME"];
        if ($_SERVER["QUERY_STRING"] != "")
          $url_ .= "?".$_SERVER["QUERY_STRING"];
      }

      // test du debut du Full Crawl
      if ($RS_TEST_FULL_CRAWL == 'y')
      {
        // si le robot est le GoogleBot Full Crawl
        if ( strstr($_SERVER["REMOTE_ADDR"], $RS_FULL_CRAWL_IP) !== false )
        {
          // on va chercher s'il est déjà venu dans les $RS_NB_J_DET_FULL_CRAWL
          // derniers jours
          $sql3  = "SELECT id";
          $sql3 .= " FROM ".$RS_TABLE_LOG;
          $sql3 .= " WHERE ip LIKE '".$RS_FULL_CRAWL_IP."%'";
          $sql3 .= " AND (TO_DAYS(NOW()) - TO_DAYS(date)) <= ".$RS_NB_J_DET_FULL_CRAWL;

          $res3  = mysql_query($sql3) or sendErrorMySQL($sql3);

          // si la requete n'a donné aucun résultat, c'est sans doute le
          // début du Full Crawl : on envoie un mail
          if ( (mysql_num_rows($res3) == 0) &&
               !file_exists($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt') )
          {
            @mail($RS_ADRESSE_EMAIL,
              $RS_LANG["FullCrawlBeginSubject"],
              $RS_LANG["FullCrawlBeginBody"],
              "From: $RS_ADRESSE_EMAIL");
            $fp = fopen($_SERVER['DOCUMENT_ROOT'].'/robotstats.txt', 'w');
            fclose($fp);
          }
        }

      } // fin du test sur le Full Crawl

      // requete MySQL d'insertion de la visite
      $sql2  = "INSERT INTO ".$RS_TABLE_LOG;
      $sql2 .= " (robot, url, date, ip, dns, code) VALUES ('$robot_', '$url_', '$date_', '$ip_', '$dns_', '$code_')";
      $res2  = mysql_query($sql2) or sendErrorMySQL($sql2);

    } // fin du cas où un robot a été détecté

  } // fin de la boucle sur les robots

}
?>

Help ! Erreur SQL après installation réussie

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités