Problème d'ajout de données avec MySQL

spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008 - 15 mars 2005 à 13:15
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 15 mars 2005 à 19:53
J'ai un problème, j'ai un script qui tourne qui est censé ajouter des données mais au bout d'un certain temps, il n'ajoute plus rien... Les données ne sont pourtant pas importantes, je n'ai que 2 tables avec 2 collonnes chacune en type varchar (20) et (30).
Si quelqu'un peut maider!

20 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2005 à 13:28
hello,



en local, ou chez un hebergeur ? Et si c'est chez un hebergeur, lequel... ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2005 à 13:28
Parce que certains hebergeurs limitent la taille de la base, et dans ce
cas, on ne peut plus rien ajouter des qu'elle a atteint son quota (il y
a aussi une limite par table, parfois. Genre 64 enregistrements dans
une table).
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 13:37
c en local avec easyPHP
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 13:40
c bizar parceque ca varie a chaque fois...
ca m'arrive de me retrouver bloké au 400éme enregistrement...
la je suis rendu au 20ème et je suis bloké
la foi d'avant g t au 87ème
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
15 mars 2005 à 13:51
Quel est ton code ? et structure de la base


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 13:58
c'est une sorte de robot qui essaye des adresse internet et qui les stocke dans la base de données si elles existe ensuite il extrait les meta tags et les stocke également:

<?php


$vartext1=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$vartext2=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$vartext3=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$vartext4=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$vartext5=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");



$connection=mysql_connect("localhost","root","") or die("Impossible de se connecter.");
$ouverture=mysql_select_db("sites") or die("Impossible d'ouvrir la base de données.");


//ecriture 2 lettres


foreach($vartext2 as $val2)
{
foreach($vartext1 as $val1)
{
$temp=$val2 . $val1;
$valeur="http://www.$temp.com";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if ($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitescom values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
$valeur="http://www.$temp.fr";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitesfr values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
}
}


//ecriture 3 lettres


foreach($vartext3 as $val3)
{
foreach($vartext2 as $val2)
{
foreach($vartext1 as $val1)
{
$temp=$val3 . $val2 . $val1;
$valeur="http://www.$temp.com";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if ($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitescom values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
$valeur="http://www.$temp.fr";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitesfr values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
}
}
}


//ecriture 4 lettres


foreach($vartext4 as $val4)
{
foreach($vartext3 as $val3)
{
foreach($vartext2 as $val2)
{
foreach($vartext1 as $val1)
{
$temp=$val4 . $val3 . $val2 . $val1;
$valeur="http://www.$temp.com";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if ($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitescom values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
$valeur="http://www.$temp.fr";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitesfr values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
}
}
}
}


//ecriture 5 lettres


foreach($vartext5 as $val5)
{
foreach($vartext4 as $val4)
{
foreach($vartext3 as $val3)
{
foreach($vartext2 as $val2)
{
foreach($vartext1 as $val1)
{
$temp=$val5 . $val4 . $val3 . $val2 . $val1;
$valeur="http://www.$temp.com";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if ($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitescom values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
$valeur="http://www.$temp.fr";
$exist=url_exist($valeur);
if($exist==1)
{
$tags = get_meta_tags($valeur);
$keywords=$tags['keywords'];
if($keywords!=0)
{
echo"$valeur\n";
$motcle=$keywords;
echo "$motcle\n";
$query="insert into sitesfr values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");
}
}
}
}
}
}
}








function url_exist($url)
{
$existance=@fopen($url,"r");
return ($existance)? 1 : 0;
}
?>

Pour la base de données:
base de données: "sites"
tables: "sitescom" et "sitesfr"
sitescom et sitesfr contienent: "adresse varchar(255)Not Null Primary Key, motcles varchar(255) Not Null"
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
15 mars 2005 à 14:01
ok et quel est ta derniere valeur de la table celle avant d etre bloquer ? celle de tes dernier essai aussi si tu t en souvien


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 14:03
la je suis bloké à d3, hier à 209 et avant je ne m'en souvient plus...
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
15 mars 2005 à 14:07
en effet erruer bizard

<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 14:09
voui kan mem...
et g l'impression ke plu ca va, moins je peu faire d'enregistrement...
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 14:10
encore avant g t rendu à 4 caractères...
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
15 mars 2005 à 14:11
As tu des messages d erruer ?


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 14:14
aucun...
c egalement kkechose ke je ne comprend pas parceque j'ai mis:

$query="insert into sitescom values ('".$valeur."' , '".$motcle."')";
$resultat=mysql_query($query) or die ("Impossible d'ajouter des données.");

il devrait me renvoyer impossible d'ajouter des données si ca ne marche pas...
la première fois il me l'avait fait
mais maintenant il continu de tourner sans ajouter et sans le message d'erreur...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2005 à 14:54
Hello,



tu devrais vraiment donner la structure de ta table.

Autre chose : S'il "continue de tourner sans ajouter", comme tu le dis,
c'est peut-etre qu'il est entre dans une boucle infinie (vu le nombre
de foreach()...).
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 15:07
sitescom et sitesfr contienent:
"adresse varchar(255)Not Null Primary Key, motcles varchar(255) Not Null"

je vois pa comment faire autrement sinon pour eviter les foreach...
g deja essayé d'écrire directement les mot dans un fichier mais ca plante...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2005 à 15:20
Ouais, ca ne vient pas de la. Je pense vraiment que ton script tourne en boucle.

Pour verifier ca, fais un debug. Tu peux mettre par exemple un echo a
chacun de tes foreach(), genre echo 'foreach 1 passe'; etc...tu verras
ou il bloque.



Je viens de regarder ton code plus en detail : il se passe quoi si il y a plus de 255 caracteres ?

Il se passe quoi si la connexion est un peu longue ?



je ne pense pas que ce soit les foreach finalement, vu la structure, ca planterait sans doute au meme endroit a chaque fois.

Mais heu, ce script refait sans arret la meme chose... ? Il va
re-verifier a chaque fois les memes adresses des qu'il est lance ?
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 15:27
g deja essayé de faire ca, il fait bien tout les caractères un par un...
s'il y a plus de 255 caractères, il stocke uniquement les 255 premiers caractères.
ce script sert a tester tout les noms de domaine de moins 5 caractères. je voudrais juste essayer de faire une petit moteur de recherche...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mars 2005 à 17:36
Salut,



ouvre le fichier php.ini et cherches "max_execution_time" mets ensuite une valeur de 0



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
spaceyogourt Messages postés 19 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 18 juillet 2008
15 mars 2005 à 19:10
g deja essayé en mettant une valeur de 500000...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 mars 2005 à 19:53
Donc ton script tourne en boucle si tu as pas mal de pourcentage CPU utilisé :-)


a +
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
Rejoignez-nous