Parcours d'une table sur mysql
Résolu/Fermé
A voir également:
- Parcours d'une table sur mysql
- Table ascii - Guide
- Table des matières word - Guide
- Mysql community server - Télécharger - Bases de données
- Mes parcours google - Guide
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
6 réponses
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
11 déc. 2008 à 11:16
11 déc. 2008 à 11:16
Pourquoi ne veux tu pas utiliser MySQL_fetch_array ?
tu as 'MySQL_fetch_object' aussi.
tu as 'MySQL_fetch_object' aussi.
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
11 déc. 2008 à 11:18
11 déc. 2008 à 11:18
Bonjour,
Il y aussi plein d'autres méthodes ==> http://www.manuelphp.com/php/function.mysql-fetch-array.php
Cordialement
Revan
Il y aussi plein d'autres méthodes ==> http://www.manuelphp.com/php/function.mysql-fetch-array.php
Cordialement
Revan
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
11 déc. 2008 à 11:20
11 déc. 2008 à 11:20
oui c'est vrai.
baabs12
>
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
11 déc. 2008 à 11:31
11 déc. 2008 à 11:31
Merci à vous deux. Sachez cependant que j'ai déjà appliqué toutes les méthodes de cette page. Effectivement depuis le weekend passé j'y travaille et j'ai tjrs le meme message d'erreur.
Je pense que la solution est de faire une boucle pour parcourir la table, ce qui est dommage est que : je ne sais pas comment le faire et c'est ce que je demande.
Encore une fois merci
Je pense que la solution est de faire une boucle pour parcourir la table, ce qui est dommage est que : je ne sais pas comment le faire et c'est ce que je demande.
Encore une fois merci
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
>
baabs12
11 déc. 2008 à 11:33
11 déc. 2008 à 11:33
Pour faire une boucle ?
Tu utilise 'WHILE'
Tu veux afficher les résultats, Vérifier, comparer ?
Tu utilise 'WHILE'
Tu veux afficher les résultats, Vérifier, comparer ?
baabs12
>
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
11 déc. 2008 à 11:37
11 déc. 2008 à 11:37
Je veux en étant sur Mysql me connecter sur une table de Sql server, y récupérer des données et les insérer dans une table qui est sur Mysql.
Ci dessous la fonction que j'ai écrite:
Et ma connexion sur Mysql est faite comme suit:
Ci dessous la fonction que j'ai écrite:
function transfert() { $myServer = "JOB"; $myUser = "root"; $myPass = "*****"; $myDB = "pi"; // connexion sur la base promo (sql server) $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Connexion impossible sur le serveur $myServer"); // selection de la base de données (sql server) $selected = mssql_select_db($myDB, $dbhandle) or die("Ouverture impossible de la base $myDB"); echo "Vous etes bien connectes sur la base" . $myDB . " du" . $myServer . "."; //requête SQL pour extraire le montant sur sql server $reponse = mssql_query("SELECT * FROM F_DOCENTETE,F_CREGLEMENT WHERE F_DOCENTETE.CT_NumPayeur = F_CREGLEMENT.CT_NumPayeur"); while ($donnees = mssql_fetch_array($reponse) ) { $db_porteur =& P4A_DB::singleton();//(La table porteur se trouve sur mysql) $crit_porteur = $db_porteur->queryRow("SELECT * FROM porteur "); // Requête SQL // On fait une boucle pour lister tout ce que contient la table porteur (Mysql) while ($donneesporteur = mysql_fetch_array($crit_porteur) ) { $nb_porteur = $donneesporteur['numero_compte1']; $val = $donnees['RG_Montant'] ; $num = $donnees['CG_Num'] ; if ($nb_porteur = $num) { $db_pt1 =& P4A_DB::singleton(); $crit_pt1 = $db_pt1->queryRow("insert into testpromo (field4, field5) values ('$val', '$val')"); //(table testpromo sur Mysql) } } } // close the connection mssql_close($dbhandle); }
Et ma connexion sur Mysql est faite comme suit:
<?php /** */ define("P4A_EXTENDED_ERRORS", true); define("P4A_DSN", 'mysql://root:*****@localhost:3306/bw'); require_once( dirname(__FILE__) . '/../../p4a.php' ); $app =& p4a::singleton("p4a_base_application"); $app->main(); ?>
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
>
baabs12
11 déc. 2008 à 11:40
11 déc. 2008 à 11:40
:)
Bah étant donné que tu as l'air plus calé que moi.
je vais attendre les réponses... avec toi.
Bah étant donné que tu as l'air plus calé que moi.
je vais attendre les réponses... avec toi.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
11 déc. 2008 à 11:40
11 déc. 2008 à 11:40
Bonjour,
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 257
Si tu as ce message d'erreur, c'est en général que ta requête ne s'est pas bien déroulée. Regarde du côté de mysql_errno() pour savoir ce qui s'est passé.
Une fois que tu auras résolu ce problème, mysql_fetch_array() fonctionnera sans problème.
Bien cordialement,
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 257
Si tu as ce message d'erreur, c'est en général que ta requête ne s'est pas bien déroulée. Regarde du côté de mysql_errno() pour savoir ce qui s'est passé.
Une fois que tu auras résolu ce problème, mysql_fetch_array() fonctionnera sans problème.
Bien cordialement,
NothingAtALL
Messages postés
26
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
2 mai 2010
5
11 déc. 2008 à 11:58
11 déc. 2008 à 11:58
Premierement.... il est préférable d'utiliser mysql_fetch_assoc plutot que mysql_fetch_array...!
Je ne comprend toujours pas pourquoi il y a encore des gens qui utilise mysql_fetch_array, cette fonction crée un tableau deux fois plus gros! Utilisation d'espace inutile!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 257
ce message d'erreur est effectivement en rapport avec une mauvaise exécution de ta requête!
mais je voudrais corriger ce que Marco vient de te dire!
Car tu utilises mssql et non mysql et mysql_errno ne te sera donc pas très utile!
Il faut plutot utiliser mssql_get_last_message
exemple
mssql_query("SELECT * FROM table") or die(mssql_get_last_message());
pour t'assurer que ta requete est bonne, je ne sais pas exactement quelle application tu utilises pour ta connexion a la bd -> comme PHPMyAdmin pour MySQL mais il y a habituellement un endroit que tu peux faire une requete directement sur la bd et ca sera plus facile de voir l'erreur!
Je ne comprend toujours pas pourquoi il y a encore des gens qui utilise mysql_fetch_array, cette fonction crée un tableau deux fois plus gros! Utilisation d'espace inutile!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 257
ce message d'erreur est effectivement en rapport avec une mauvaise exécution de ta requête!
mais je voudrais corriger ce que Marco vient de te dire!
Car tu utilises mssql et non mysql et mysql_errno ne te sera donc pas très utile!
Il faut plutot utiliser mssql_get_last_message
exemple
mssql_query("SELECT * FROM table") or die(mssql_get_last_message());
pour t'assurer que ta requete est bonne, je ne sais pas exactement quelle application tu utilises pour ta connexion a la bd -> comme PHPMyAdmin pour MySQL mais il y a habituellement un endroit que tu peux faire une requete directement sur la bd et ca sera plus facile de voir l'erreur!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NothingAtALL
Messages postés
26
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
2 mai 2010
5
11 déc. 2008 à 11:59
11 déc. 2008 à 11:59
je voulais dire mssql_fetch_assoc plutot que mysql_fetch_assoc et meme chose pour mysql_fetch_array dans le premier paragraphe!
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
11 déc. 2008 à 12:10
11 déc. 2008 à 12:10
Bonjour NothingAtALL,
Baabs12 utilise à la fois une BD MySQL et une MsSql, donc le problème peut venir des deux BD.
@Baabs12 :
A mon avis le problème vient de la ligne suivante :
Après exécution, vérifie bien que $crit_porteur est de type resource (je ne sais pas dans quelle base queryRow s'exécute, donc utilise la fonction de vérification d'erreur qui va bien).
EDIT : je voulais dire "vérifie bien que $crit_porteur est de type ARRAY", désolé
Cordialement,
Baabs12 utilise à la fois une BD MySQL et une MsSql, donc le problème peut venir des deux BD.
@Baabs12 :
A mon avis le problème vient de la ligne suivante :
$crit_porteur = $db_porteur->queryRow("SELECT * FROM porteur ");
Après exécution, vérifie bien que $crit_porteur est de type resource (je ne sais pas dans quelle base queryRow s'exécute, donc utilise la fonction de vérification d'erreur qui va bien).
EDIT : je voulais dire "vérifie bien que $crit_porteur est de type ARRAY", désolé
Cordialement,
j'utilise la methode suivante pour la requete:
et le résultat que j'ai est un "array".
Et pour récupérer un champs dans la table je fais:
ce qui me donne la valeur du champs "numero_compte1" dans la table porteur qui est sur Mysql
$db_porteur =& P4A_DB::singleton();//(La table porteur se trouve sur mysql) $crit_porteur = $db_porteur->queryRow("SELECT * FROM porteur "); // Requête SQL echo $crit_porteur;
et le résultat que j'ai est un "array".
Et pour récupérer un champs dans la table je fais:
$nb_porteur = $crit_porteur['numero_compte1'];
ce qui me donne la valeur du champs "numero_compte1" dans la table porteur qui est sur Mysql
baabs12
>
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
11 déc. 2008 à 12:23
11 déc. 2008 à 12:23
j'utilise queryRow() pour interroger la base Mysql car si j'utilise mysql_query, j'ai les message d'erreur suivants:
Le résultat avec queryRow est un array et non un resource
Warning: mysql_query() [function.mysql-query]: Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 264 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 264
Le résultat avec queryRow est un array et non un resource
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
>
baabs12
11 déc. 2008 à 12:52
11 déc. 2008 à 12:52
Bonjour,
Peut-on connaître l'implémentation de queryRow()? C'est une méthode que tu as écrite? Que tu as trouvée où?
Le plus simple à mon avis c'est de te créer l'utilisateur ODBC@localhost dans la table users afin d'avoir les droits en lecture : http://dev.mysql.com/doc/refman/5.0/fr/adding-users.html
De cette manière tu pourras utiliser mysql_query puis mysql_fetch_array (apparemment le tableau retourné par queryRow n'est pas bien pris en compte par mysql_fetch_array, il doit manquer des informations dedans qui ne te sont pas importantes mais pour mysql_fetch_array si).
Cordialement,
Peut-on connaître l'implémentation de queryRow()? C'est une méthode que tu as écrite? Que tu as trouvée où?
Le plus simple à mon avis c'est de te créer l'utilisateur ODBC@localhost dans la table users afin d'avoir les droits en lecture : http://dev.mysql.com/doc/refman/5.0/fr/adding-users.html
De cette manière tu pourras utiliser mysql_query puis mysql_fetch_array (apparemment le tableau retourné par queryRow n'est pas bien pris en compte par mysql_fetch_array, il doit manquer des informations dedans qui ne te sont pas importantes mais pour mysql_fetch_array si).
Cordialement,
baabs12
>
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
11 déc. 2008 à 13:34
11 déc. 2008 à 13:34
avec queryRow j'interroge la base mysql sans l'utilisateur ODBC.
maintenat j'ai créer l'utilisateur ODBC et la fonction mysql_query. à ma grande surprise rien n'est affiché!
maintenat j'ai créer l'utilisateur ODBC et la fonction mysql_query. à ma grande surprise rien n'est affiché!
$reponse = mysql_query("SELECT * FROM porteur "); echo $reponse;
Chers tous,
Je voudrai vous dire que mon code marche parfaitement maintenant. Je vous remercie encore une fois de l'aide que vous m'avez apporté et de tous les enseignements fournis pour parfaire ce code. Vive la solidarité!
Je vous poste le code final qui marche actuellement.
Je voudrai vous dire que mon code marche parfaitement maintenant. Je vous remercie encore une fois de l'aide que vous m'avez apporté et de tous les enseignements fournis pour parfaire ce code. Vive la solidarité!
Je vous poste le code final qui marche actuellement.
functionTransfert() { $myServer = "JOB"; $myUser = "root"; $myPass = "****"; $myDB = "pi"; // connexion sur la base promo (sql server) $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Connexion impossible sur le serveur $myServer"); // selection de la base de données (sql server) $selected = mssql_select_db($myDB, $dbhandle) or die("Ouverture impossible de la base $myDB"); //requête SQL pour extraire le montant $reponse = mssql_query("SELECT * FROM F_DOCENTETE,F_CREGLEMENT WHERE F_DOCENTETE.CT_NumPayeur = F_CREGLEMENT.CT_NumPayeur"); while ($donnees = mssql_fetch_array($reponse) ) { $db_porteur =& P4A_DB::singleton(); $crit_porteur = mysql_query("SELECT * FROM porteur");// Requête SQL pour récupérer les données sur la table porteur // On fait une boucle pour lister tout ce que contient la table porteur (Mysql) while($donneesporteur = mysql_fetch_array($crit_porteur)) // mysql_fetch_array() marche. j'avais oublié de mettre $db_porteur =& P4A_DB::singleton() avant la requete. { $val = $donnees['RG_Montant'] ; // On met le montant dans $val $num = $donnees['CG_Num'] ; //On met le numéro du client dans $num $date1 = $donnees['RG_Date']; // On met la date dans $date1 if ($nb_porteur = $num) //Si le numéro du client correspond au numéro du porteur { $db_pt1 =& P4A_DB::singleton(); $crit_pt1 = $db_pt1->queryRow("insert into testpromo (field4, field5, field7) values ('$val', '$val','$date1')"); //On insére dans la table transaction les données récupérées dans la base sari } } } // close the connection mssql_close($dbhandle); }
11 déc. 2008 à 11:20
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bytesyss\applications\bo\objects\masks\dem_autor.php on line 257
au fait c'est parce que je veux transferer des données d'une table se trouvant dans une base de Sql Server vers une autre table qui est sur Mysql
11 déc. 2008 à 11:26
Un peu de lecture, il en faut.
Aller bon courage.