J'ai un site de plus de 200 pages qui a été développé sous EasyPhp 1.8. qui contient mysql 4.1.9 php 4.3-10 apache 1.3 33 phpmyadim 2.6 1
Je souhaite migrer vers Wapserver mais je suis confronté à un problème de connexion à la base Mysql
"Access denied for user 'SYSTEM'@'localhost' (using password: NO)"
J'ai fait un essai en créant une nouvelle page index et une nouvelle page de connexion sur la page index j'ai ce bout de code --require_once("test_connex.php"-- et sur la page de connexion les commandes habituelles et là la connexion fonctionne parfaitement.
Comment faire pour tout migrer sans me "re-taper" toutes les pages ??
Vous pouvez vous connecter à MySQL avec vos pages d'essais; c'est donc que Wampserver fonctionne et plus particulièrement les accès à MySQL. Dans ces pages qui fonctionnent, vous spécifiez bien un utilisateur avec ou sans mot de passe. Il vous faut donc utiliser ce même utilisateur et mot de passe dans vos scripts à migrer.
D'après mes tests c'est tous les mysql_query ( exemple $result = mysql_query("SELECT * FROM visiteur" ) qui posent problème.
Le connexion à la base se fait correctement avec ces codes //connection au serveur local $cnx = mysql_connect('localhost', 'root', '') OR die('Erreur de connexion');
mysql_select_db('timbres221') OR die('Sélection de la base impossible');
La version de PHP incluse dans Wampserver est elle incompatible ??
j'ai crée une base puis j'ai importé mes tables par : import (d'ailleurs j'ai un problème avec une table qui dépasse le volume autorisé, mais cette table n'est pas concernée dans le script ci-dessous)
ça bloque sur cette ligne $sql = 'SELECT count(*) FROM nb_online'; (cette ligne est entourée par des ## pour les besoins de la lecture, dans le script ça n'existe pas) avec les messages suivants
Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\timbres VER2-essai\conex.php on line 86
la ligne 86 : $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\timbres VER2-essai\conex.php on line 86 Erreur SQL ! SELECT count(*) FROM nb_online Access denied for user 'SYSTEM'@'localhost' (using password: NO)
<? @session_start();
//connection au serveur local $cnx = mysql_connect('localhost', 'root', '') OR die('Erreur de connexion');
mysql_select_db('timbres221') OR die('Sélection de la base impossible');
//l'adresse de connexion $_SESSION['adresse_site']="[127.0.0.1];;
//la légende des pages de timbres $legende=" Les timbres poste français de 1849 à aujourd'hui" ; $_SESSION['ip_visiteur']=$_SERVER['REMOTE_ADDR']; ?> <?php
//======================== mise à jour des statistiques==================================== if(!isset($_SESSION['pseudo'])) $_SESSION['pseudo']=""; $pseu=$_SESSION['pseudo']; //détection des robots et aspirateurs //pour les robots $UA=$_SERVER["HTTP_USER_AGENT"]; $brow = strtolower($UA);//en minuscules pour toutes les versions $bots = array ("alexa","antibot","appie1.1","archive","ask","askjeeves","baiduspider","bspider","cfnetwork","converacrawler","custo","deepIndex","dloader","exabot","fast","fish search","fluffy","gaisbot","gigabot","girafabot","google","google adsence","googlebot","googlebot-image","grub.org","henrilerobotmirago","heritrix","holmes","httrack","ia_archiver","ichiro","inktomi slurp","iwp-trivial","java","larbin","mediapartners-google","mj12bot","msnbot","msnbot-media","msiecrawler","msrbot","netresearchserver","nimblecrawler","nutch","nutchcvs","openbot","openfind","picsearch","pompos","psbot","python-urllib","robozilla","sbider","seekbot","scooter","shinchakubin","slurp","speedy spider","spider","stackramber","surveybot","szukacz","tencentraveler","teoma","the web archive","turn it in","vagabondo","voila","voilabot","voyager","webcollage","webcrawler","xenu link sleuth","yacy","yandex","yahoo","yahoo!","yahoo-mmcrawler","yahooseeker","zyborg"//on ajoute ici les noms des autres robots en minuscules $n=0;$robotstat="vide";$robot=""; do { $robot = strchr($brow,$bots[$n]); if($robot<>"" $robotstat="robot"; $n=$n+1; }while ((!$robot) && ($n<count($bots)));
if($robot<>"" { $page_robot=0;$lig_robot=0; $result = mysql_query("SELECT * FROM robot" while ($row = mysql_fetch_array($result, MYSQL_NUM)) { if($robot==trim($row[4])) { $page_robot=$row[3];$lig_robot=$row[0];
} } if($page_robot>0) { $page_robot++; $sql='REPLACE INTO robot VALUES ("'.$lig_robot.'","'.date("Y-m-d".'","'.$_SESSION['ip_visiteur'].'","'.$page_robot.'","'.$robot.'","x","x","x"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
if($page_robot==0) { $page_robot++; $sql='INSERT INTO robot VALUES (" ","'.date("Y-m-d".'","'.$_SESSION['ip_visiteur'].'","'.$page_robot.'","'.$robot.'","x","x","x"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
}//fin de if robot<>"" //elimination des aspirateurs $bots = array ("curl","^-?$ ","advanced\ email\ extractor","acrobat","acrobat webcapture","almaden","@nonymouse","art-online","cherrypicker","crescent\ internet\ toolpack","directupdate","download\ accelerator","ecatch","extense","emailcollector","emailwolf","extractorpro","fetch","api request","flashget","frontpage","go!zilla","http agent","httpconnect","httrack","indy","library","ipiumbot laurion(dot)com","kapere","libwww-perl","microsoft control","minibot(naverrobot)","nicerspro","npbot","offline explorer","offline navigator","program shareware","quepasacreep","sitemapper","star downloader","surveybot","teleport pro","telesoft","turingos","turnitinbot","vobsub","webbandit","webcapture","webcollage","webcopier","webdav","webemailextractor","webreaper","websaver","webstripper","webzip","wget","wysigot","zeus.*webster","zeus","^xxx" //on ajoute ici les noms des autres aspirateur en minuscules $n=0;$aspirateur="vide";$aspi=""; do { $aspi = strchr($brow,$bots[$n]); if($aspi<>"" $aspirateur="aspiOK"; $n=$n+1; }while ((!$aspi) && ($n<count($bots)));
$sql = 'SELECT count(*) FROM nb_online'; #########$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());######## $data = mysql_fetch_array($req); $nb=$data[0]; $dat=date("d-m-Y" $heure=date("H:i:s" $result = mysql_query("SELECT * FROM record" while ($row = mysql_fetch_array($result, MYSQL_NUM)) if($nb>$row[3]) { $sql = 'UPDATE record SET nbconnect = "'.$nb.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql = 'UPDATE record SET datnbconnect = "'.$dat.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql = 'UPDATE record SET hnbconnect = "'.$heure.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
//on passe sur les statistiques $_SESSION['ip_visiteur']=$_SERVER['REMOTE_ADDR']; $da = trim(date("Y-d-m"); $jour=(int)date("d" $dat=date("d-m-Y" $mois=(int)date("m" $visite=0;$page=0;$s_jour=0;$s_mois=0;$datevisite=""; $resul='';
$result = mysql_query("SELECT * FROM visiteur" $lig = mysql_num_rows ($result); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $datevisite=trim($row[1]);$visite=$row[2];$page=$row[3];$inscrit=$row[4];$eval=$row[5];$payant=$row[6]; $s_jour=(int)$row[7];$memb=$row[8];$s_mois=(int)$row[9];$jour_ancien=$row[10];$mois_ancien=$row[11]; }
$result = mysql_query("SELECT * FROM record" while ($row = mysql_fetch_array($result, MYSQL_NUM)) { if($visite>$row[2]) { $sql = 'UPDATE record SET visite = "'.$visite.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql = 'UPDATE record SET datvisite = "'.$dat.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
if($page>$row[1]) { $sql = 'UPDATE record SET page = "'.$page.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql = 'UPDATE record SET datpage = "'.$dat.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
}
//========================mise à jour des stat================================= //mise à zéro de la table IP et de la table VISITEUR en début de mois
if($s_mois<>$mois) { $sql='TRUNCATE table_ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql='TRUNCATE visiteur' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); } //---------------------------------------------------------------------------------------------------
//lecture de la table des IP pour vérifier la presence ou non $connu=0; $r = mysql_query("SELECT * FROM table_ip" while ($row = mysql_fetch_array($r, MYSQL_NUM)) { if($_SESSION['ip_visiteur']==trim($row[1])) { $connu=1; $ligip=$row[0];$pageip=$row[3]+1;
} }
if($s_jour<>$jour) { $sql='TRUNCATE ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql='TRUNCATE robot' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql='TRUNCATE table_ip' ; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); $sql='INSERT INTO visiteur VALUES ("","'.$dat.'","1","1","0","0","0","'.$jour.'","x","'.$mois.'","'.$s_jour.'","x"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$result = mysql_query("SELECT * FROM enchere" while ($row = mysql_fetch_array($result, MYSQL_NUM)) { if(trim($row[18])=="bl" && trim($row[3])<>"0000.gif" @unlink('../encheres/image-enchere/'.trim($row[3])); }
//mise à jour de la table des records (pour le nombre de visiteurs) $result = mysql_query("SELECT * FROM record" while ($row = mysql_fetch_array($result, MYSQL_NUM)) {$visiteur=$row[8];$page=$page+$row[11];} $visiteur=$visiteur+$visite; $sql = 'UPDATE record SET visiteur = "'.$visiteur.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql = 'UPDATE record SET pagetot = "'.$page.'" WHERE id = "1"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); Function notag($txt) { // Vire les balises // ^ signifie "tout sauf" // + signifie 1 car au moins $pattern = "<[^>]+>"; // remplace par vide return(ereg_replace($pattern,":",$txt)); }
Function notlg($txt) { // Vire fin de ligne // ^ signifie "tout sauf" // + signifie 1 car au moins $pattern = "\r\n"; // remplace par vide return(ereg_replace($pattern,":",$txt)); }
if($s_jour==$jour) { $pageip=0; if($connu==0) { $sql='INSERT INTO table_ip VALUES ("","'.$_SESSION['ip_visiteur'].'","'.$dat.'","'.$pageip.'","'.$UA.'"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$visite++;$page++; $sql='REPLACE INTO visiteur VALUES ("'.$lig.'","'.$datevisite.'","'.$visite.'","'.$page.'","'.$inscrit.'","'.$eval.'","'.$payant.'","'.$jour.'","'.$memb.'","'.$mois.'","'.$jour_ancien.'","'.$mois_ancien.'"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); }
if($connu==1) { $page++; $sql='REPLACE INTO visiteur VALUES ("'.$lig.'","'.$datevisite.'","'.$visite.'","'.$page.'","'.$inscrit.'","'.$eval.'","'.$payant.'","'.$jour.'","'.$memb.'","'.$mois.'","'.$jour_ancien.'","'.$mois_ancien.'"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql='REPLACE INTO table_ip VALUES ("'.$ligip.'","'.$_SESSION['ip_visiteur'].'","'.$dat.'","'.$pageip.'","'.$UA.'"'; mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
> j'ai crée une base puis j'ai importé mes tables par : import > (d'ailleurs j'ai un problème avec une table qui dépasse le volume autorisé)
Pour augmenter les limites mémoire et timeout imposées par php.ini dans PhpMyAdmin en ajoutant deux directives dans l'alias d'appel de PhpMyadmin, c'est-à-dire le fichier wamp\alias\phpmyadmin.conf. Ces modifications ne seront valables QUE pour PhpMyAdmin et pourront permettre l'import de fichiers plus importants. Sinon, on peut utiliser, par exemple, MyQLDumper (http://forum.mysqldumper.de/downloads.php)