[PHP] comment coller un delai d'attente ?

comment coller un delai d'attente ? [PHP] - PHP - Programmation

Marsh Posté le 11-12-2005 à 23:14:18    

Salut.
comment on fait pour coller un délai d'attente en PHP ? suis toujours avec le meme probleme : j'ai une chaine d'integrations dans une base de données.
je dois integrer 150 enregistrements alors je cree un fichier php et je le lance...
jusque là c'est con tellement c'est bête non ?
le problème c'est que parfois pour un fichier donné il intègre QUE DALLE...
je ne pige pas.
voici un bout de code
 
$db="base";
$link = mysql_pconnect("host", "log","pass" );
mysql_select_db($db , $link);
 
$sql = mysql_query(" INSERT INTO `moteur` (`url`, `motcle`, `description`, `match`, `truc`) VALUES ('monurl', 'mesmotscles','madescription','monmatch','montruc')" );
etc etc etc x 150
mysql_close($link);

 
Bon ben parfois ca marche pas.
le log s'execute normalement et ne m'affiche pas la moindre erreur et parfois j'ai pas un seul enregistrement ajouté...
vite. je pompe 10 ajouts à la seconde et je commence à paniquer...
Donc je me disais pourquoi pas coller un délai de temps en temps dans mon code ?
Merci
 


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2005 à 23:14:18   

Reply

Marsh Posté le 11-12-2005 à 23:18:33    

Avec $sql = mysql_query(...) or die(mysql_error()), est-ce que ça change quelque chose ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2005 à 23:19:58    

ben non pas d'erreur...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2005 à 23:23:55    

Qu'est-ce que t'appelles le "log" ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2005 à 23:25:04    

ben le log c'est quand je lance le fichier PHP tout simplement


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2005 à 23:27:39    

Et donc t'as testé avec "or die(mysql_error())" et ça passe aussi ?
 
Non parce que si ton INSERT foire là il va pas te le dire si tu lui demandes pas...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2005 à 23:28:52    

oui oui j'ai testé... c'est à n'y rien comprendre. c'est pour ca que je me demandais, en collant un délai pour laisser respirer la BDD mais ca me parait bidon de faire ça


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2005 à 23:30:57    

Les 150 enregistrements c'est dans la même table ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2005 à 23:31:53    

oui dans la meme table suivant la meme procedure... à la queue leu leu tout betement
insert
insert
insert
close


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2005 à 23:32:42    

Donc t'as besoin que d'une seule requete insert, cf doc.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2005 à 23:32:42   

Reply

Marsh Posté le 11-12-2005 à 23:51:17    

doc ?
mais non je scanne le web avec un logiciel en VB (de ma conception) qui colle des requetes dans un fichier. donc à chaque fois qu'il trouve une adresse "habitée" il colle une ligne supplémentaire INSERT
et quand je le shoote, il me colle CLOSE et même le petit ?> qui va bien (lol)
 
TOUT CA POUR DIRE... que je suis entrain de revoir le code de ce programme... c'est peut etre de la que vient l'erreur


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 00:13:43    

Reply

Marsh Posté le 12-12-2005 à 00:15:57    

??? sielfried ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:06:59    

erwan83 a écrit :

doc ?
mais non je scanne le web avec un logiciel en VB (de ma conception) qui colle des requetes dans un fichier. donc à chaque fois qu'il trouve une adresse "habitée" il colle une ligne supplémentaire INSERT
et quand je le shoote, il me colle CLOSE et même le petit ?> qui va bien (lol)
 
TOUT CA POUR DIRE... que je suis entrain de revoir le code de ce programme... c'est peut etre de la que vient l'erreur

Pense aussi à revoir cette "architecture". [:shinji_kun64]  

Reply

Marsh Posté le 12-12-2005 à 02:09:23    

oui merci mais pour l'instant je suis sur le Visual Basic de mon prog et il me donne du fil à retordre...
De quelle architecture parles-tu ? du fichier créé par le programme ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:11:19    

le insert retourne false si ca ne marche pas.  
 
peut-etre que ceci te permettra de voir d'où vient l'erreur
 

Code :
  1. $query = 'INSERT ...';
  2. if(!mysql_query($query))
  3. {
  4.    echo ($query);
  5. }

Reply

Marsh Posté le 12-12-2005 à 02:14:17    

mais non impossible c'est deja vérifié par le programme. si il a pas de resultats il crée pas la ligne...
Exemple du fichier que je suis entrain de créer :
 

Spoiler :

$sql = mysql_query(" INSERT INTO `moteur` (`url`, `motcle`, `description`, `match`, `truc`) VALUES ('http://www.baaaaa.com','','','Search Results for baaaaa.com ','Search Results for baaaaa.com')" );
$sql = mysql_query(" INSERT INTO `moteur` (`url`, `motcle`, `description`, `match`, `truc`) VALUES ('http://www.baaabo.com','','','Coming Soon...','Coming Soon...   ')" );


Si le moteur trouve un truc, il l'insère...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:20:03    

erwan83 a écrit :

oui merci mais pour l'instant je suis sur le Visual Basic de mon prog et il me donne du fil à retordre...
De quelle architecture parles-tu ? du fichier créé par le programme ?


Oui ! Pouquoi ne pas attaquer mysql directement en VB ???

Reply

Marsh Posté le 12-12-2005 à 02:21:21    

Ben j'avais demandé ça un jour ici mais pas de réponse. je sais pas faire. c'est con je sais... ça doit pas être trop dur...
Une idée ? un exemple ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:22:49    

ok mais si la ligne n'est pas insérée, c'est qu'il y a un problème non ?
 
pourquoi ne pas regarder ce qui cloche dans les lignes qui ne sont pas insérées. peut etre que tout est ok, mais peut etre pas (un caractère bizarre, ou que sais-je) ...

Reply

Marsh Posté le 12-12-2005 à 02:26:21    

erwan83 a écrit :

Ben j'avais demandé ça un jour ici mais pas de réponse. je sais pas faire. c'est con je sais... ça doit pas être trop dur...
Une idée ? un exemple ?

En VB, je vais pas pouvoir t'aider bc, dsl. :D
Mais google si http://www.google.fr/search?hl=fr& [...] cher&meta=

Reply

Marsh Posté le 12-12-2005 à 02:26:31    

non même pas. si la ligne est pas insérée ca veut dire que le moteur trouve pas d'url tout simplement... apres c'est béton, il copie ça :
 

Spoiler :

INSERTION = "   $sql = mysql_query(" & Chr$(34) & " INSERT INTO `moteur` (`url`, `motcle`, `description`, `match`, `truc`) VALUES ('" & ADRESSE & "','" & KEYWORDS & "','" & DESCRIPTION & "','" & TITRE & "','" & TITRE & " " & DESCRIPTION & " " & KEYWORDS & " " & "')" & Chr$(34) & " );"
 
Open "c:/log.php" For Append As #2
 
If Len(TITRE) > 3 Or Len(DESCRIPTION) > 5 Or Len(KEYWORDS) > 5 Then
    Print #2, INSERTION
End If


 
c'est du VB ok... tout con... 1+1=2

Message cité 1 fois
Message édité par erwan83 le 12-12-2005 à 02:28:52

---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:28:53    

erwan83 a écrit :

non même pas. si la ligne est pas insérée ca veut dire que le moteur trouve pas d'url tout simplement...

Mais si, cette ligne peut bien sur causer une erreur (utilise mysql_real_escape_string pour voir) !

Reply

Marsh Posté le 12-12-2005 à 02:30:08    

kalex a écrit :

Mais si, cette ligne peut bien sur causer une erreur (utilise mysql_real_escape_string pour voir) !


 
mysql_real_escape_string à la place de mysql_query ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:31:15    

mysql_real_escape_string -- Protège les caractères spéciaux d'une commande SQL :
http://fr2.php.net/manual/fr/funct [...] string.php

Reply

Marsh Posté le 12-12-2005 à 02:33:27    

ok vu
merci
va falloir revoir tout le code VB...
Arffff


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:33:57    

mysql_query(mysql_real_escape_strint('INSERT....'));

Reply

Marsh Posté le 12-12-2005 à 02:34:50    

mysql_query(mysql_real_escape_string('INSERT....'));
 ???
OK COOL  
EASY JOB


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:35:21    

Citation :

ok vu
merci
va falloir revoir tout le code VB...
Arffff

Pour ajouter cette petite fonction au code PHP généré ???
 
Mais c'est pas pour insister, mais ça serait 1000x mieux de faire ça avec VB. En 1ere page de google avec vb+mysql : http://rp.developpez.com/vb/tutoriels/mysql/


Message édité par kalex le 12-12-2005 à 02:35:47
Reply

Marsh Posté le 12-12-2005 à 02:37:51    

Ben oui... lol
Je vais m'y mettre...
je crois que effectivement ça devrait mieux gazer
mais là je suis un peu à fondddddddddddddddddd


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:38:22    

mais il faudra quand meme échapper les "brols" (si le problème vient de là) sinon tu risques d'avoir le même problème

Reply

Marsh Posté le 12-12-2005 à 02:39:01    

quoi ces machins là les brols ? lol


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:41:34    

erwan83 a écrit :

quoi ces machins là les brols ? lol


ce contre quoi mysql_real_escape_string protége.


Message édité par kalex le 12-12-2005 à 02:41:52
Reply

Marsh Posté le 12-12-2005 à 02:42:22    

oui... mais encore ? break object ..... ???


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:42:41    

erwan83 a écrit :

quoi ces machins là les brols ? lol


va dormir petit scarabée :o
 
;)

Reply

Marsh Posté le 12-12-2005 à 02:43:19    

faut trouver une fonction vb qui fasse la meme chose, ou la coder toi meme

Reply

Marsh Posté le 12-12-2005 à 02:44:21    

BTW pour savoir faire des requêtes sur une DB MySQL en VB, c'est super dur, il faut au moins... taper "visual basic mysql" dans google [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 12-12-2005 à 02:46:12    

suis mort de rire là... bon c'est un problème de caractères spéciaux ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 02:51:02    

BON JE PROPOSE UNE CLOTURE DU SUJET POUR AUJOURD'HUI...
POUR CAUSE DE PAIN SUR LA PLANCHE
Merci à masklinn
Merci à art_dupond
Merci à kalex
Merci à sielfried


---------------
http://www.ypikay.com
Reply

Marsh Posté le 12-12-2005 à 09:41:15    

erwan83 a écrit :

Salut.
comment on fait pour coller un délai d'attente en PHP ? suis toujours avec le meme probleme : j'ai une chaine d'integrations dans une base de données.
je dois integrer 150 enregistrements alors je cree un fichier php et je le lance...
jusque là c'est con tellement c'est bête non ?
le problème c'est que parfois pour un fichier donné il intègre QUE DALLE...
je ne pige pas.
voici un bout de code
 
$db="base";
$link = mysql_pconnect("host", "log","pass" );
mysql_select_db($db , $link);
 
$sql = mysql_query(" INSERT INTO `moteur` (`url`, `motcle`, `description`, `match`, `truc`) VALUES ('monurl', 'mesmotscles','madescription','monmatch','montruc')" );
etc etc etc x 150
mysql_close($link);

 
Bon ben parfois ca marche pas.
le log s'execute normalement et ne m'affiche pas la moindre erreur et parfois j'ai pas un seul enregistrement ajouté...
vite. je pompe 10 ajouts à la seconde et je commence à paniquer...
Donc je me disais pourquoi pas coller un délai de temps en temps dans mon code ?
Merci


 
 
Bon plutot que de faire 150 insert, n'en fait qu'un. Si c'est du MySQL tu dois pouvoir faire ca :
 

Code :
  1. INSERT INTO matable (chps1, chps2, chps3) VALUES (value1, value2, value3), (value4, value5, value6), (value7, value8, value9);


 
Sinon, j'ai lu que tu t'inquietais de la charge. Il n'y a pas de raison. 150 ecritures, le moteur ne doit pas mettre plus de 1/10s pour le faire. ;)


---------------
MZP est de retour
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed