comment coller un delai d'attente ? [PHP] - PHP - Programmation
Marsh Posté le 11-12-2005 à 23:18:33
Avec $sql = mysql_query(...) or die(mysql_error()), est-ce que ça change quelque chose ?
Marsh Posté le 11-12-2005 à 23:19:58
ReplyMarsh Posté le 11-12-2005 à 23:23:55
Qu'est-ce que t'appelles le "log" ?
Marsh Posté le 11-12-2005 à 23:25:04
ben le log c'est quand je lance le fichier PHP tout simplement
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...
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
Marsh Posté le 11-12-2005 à 23:30:57
Les 150 enregistrements c'est dans la même table ?
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
Marsh Posté le 11-12-2005 à 23:32:42
Donc t'as besoin que d'une seule requete insert, cf doc.
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
Marsh Posté le 12-12-2005 à 00:13:43
ReplyMarsh Posté le 12-12-2005 à 02:06:59
erwan83 a écrit : doc ? |
Pense aussi à revoir cette "architecture".
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 ?
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 :
|
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')" ); |
Si le moteur trouve un truc, il l'insère...
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... |
Oui ! Pouquoi ne pas attaquer mysql directement en VB ???
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 ?
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) ...
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... |
En VB, je vais pas pouvoir t'aider bc, dsl.
Mais google si http://www.google.fr/search?hl=fr& [...] cher&meta=
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) & " );" |
c'est du VB ok... tout con... 1+1=2
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) !
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 ?
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
Marsh Posté le 12-12-2005 à 02:33:27
ReplyMarsh Posté le 12-12-2005 à 02:34:50
mysql_query(mysql_real_escape_string('INSERT....'));
???
OK COOL
EASY JOB
Marsh Posté le 12-12-2005 à 02:35:21
Citation : ok vu |
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/
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
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
Marsh Posté le 12-12-2005 à 02:39:01
ReplyMarsh 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.
Marsh Posté le 12-12-2005 à 02:42:22
ReplyMarsh Posté le 12-12-2005 à 02:42:41
ReplyMarsh Posté le 12-12-2005 à 02:43:19
faut trouver une fonction vb qui fasse la meme chose, ou la coder toi meme
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
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 ?
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
Marsh Posté le 12-12-2005 à 09:41:15
erwan83 a écrit : Salut. |
Bon plutot que de faire 150 insert, n'en fait qu'un. Si c'est du MySQL tu dois pouvoir faire ca :
Code :
|
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.
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