Warning: mysql_fetch_array():
Fermé
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
-
Modifié par meskina le 22/02/2013 à 14:14
meskina Messages postés 50 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 26 septembre 2013 - 25 févr. 2013 à 17:59
meskina Messages postés 50 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 26 septembre 2013 - 25 févr. 2013 à 17:59
A voir également:
- Warning: mysql_fetch_array():
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Cpu fan fail warning control - Forum Windows
- Chip Fan Fail ..... - Forum Matériel & Système
- Quota warning free - Guide
19 réponses
Utilisateur anonyme
22 févr. 2013 à 14:35
22 févr. 2013 à 14:35
essaies avec mysql_fetch_assoc à la place de mysql_fetch_array
Utilisateur anonyme
22 févr. 2013 à 15:03
22 févr. 2013 à 15:03
Bonjour
mysql_fetch_assoc ou mysql_fetch_array, je ne vois pas ce que ça peut y changer, puisque c'est $q qui est incorrect d'après le message d'erreur.
Avec le or die(mysql_error()) qui précède, tu ne peux normalement pas avoir ce message d'erreur.
Comment as-tu fait ta connexion au serveur mysql ? Avec mysql_connect, ou avec PDO ?
mysql_fetch_assoc ou mysql_fetch_array, je ne vois pas ce que ça peut y changer, puisque c'est $q qui est incorrect d'après le message d'erreur.
Avec le or die(mysql_error()) qui précède, tu ne peux normalement pas avoir ce message d'erreur.
Comment as-tu fait ta connexion au serveur mysql ? Avec mysql_connect, ou avec PDO ?
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
22 févr. 2013 à 18:01
22 févr. 2013 à 18:01
j'utilise dans le fichier de connexion mysql_connect
et j'appel avec include,
et j'appel avec include,
Utilisateur anonyme
22 févr. 2013 à 18:29
22 févr. 2013 à 18:29
Très bizarre que tu aies ce message sans que die(mysql_error()) ne signale rien...
Pour diagnostic, peux-tu insérer une ligne :
Et dire ce que ça affiche ?
Pour diagnostic, peux-tu insérer une ligne :
$q=mysql_query('SELECT * FROM avisiter WHERE pharam_id NOT IN (SELECT pharam_id FROM listevisite )') or die(mysql_error()); print_r($q); while($d=mysql_fetch_array($q)){
Et dire ce que ça affiche ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 10:58
25 févr. 2013 à 10:58
désolé pour le retard,mais j'ai des sérieux problèmes de zone de cnx..
merci pour ta suivie,alors l'affichage me donne :
1
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/gec/public_html/site/exlNonviM.php on line 102
Une remarque très importante,c'est que quand j'ai gardé que quelques données dans les deux tables et j'ai essayé en local,l'affichage est correcte sans warning,mais sur le serveur et vaec une Bd chargée ,ça donne le warning,sachant que si j'applique la requete sur phpmyadmin directement elle prends un peu du temps et affiche correctement..alors ?
perdue :(
merci pour ta suivie,alors l'affichage me donne :
1
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/gec/public_html/site/exlNonviM.php on line 102
Une remarque très importante,c'est que quand j'ai gardé que quelques données dans les deux tables et j'ai essayé en local,l'affichage est correcte sans warning,mais sur le serveur et vaec une Bd chargée ,ça donne le warning,sachant que si j'applique la requete sur phpmyadmin directement elle prends un peu du temps et affiche correctement..alors ?
perdue :(
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 11:55
25 févr. 2013 à 11:55
sinon j'ai trouvé que peut être il faut utiliser les index à mes deux tables pour optimiser la requete,j'ai trouvé sur le manuel l'explication mais je sais pas comment appliquer sur mon exemple!?
Gornarf
Messages postés
121
Date d'inscription
vendredi 19 février 2010
Statut
Membre
Dernière intervention
15 mai 2014
3
25 févr. 2013 à 12:16
25 févr. 2013 à 12:16
SELECT pharam_id FROM listevisite renvoi un résultat?
tu peux toujours checker si un résultat est retourné en ne pas executer tes requestes
ex:
tu peux toujours checker si un résultat est retourné en ne pas executer tes requestes
ex:
$rows=mysql_num_rows($q) echo $rows; // Permet de retourné le nombre de résultat présent dans ta requete if ($rows!=0) { while($d=mysql_fetch_array($q)){ //101 echo' <tr> <td style="color:#4e7eeb;font-size:12">'.$d['pharam_id'].'</td> <td style="color:#4e7eeb;font-size:12">'.$d['nomm'].'</td> <td style="color:#4e7eeb;font-size:12">'.$d['liste'].'</td> <td style="color:#4e7eeb;font-size:12">'.$d['region'].'</td> <td style="color:#4e7eeb;font-size:12">'.$d['ville'].'</td> <td style="color:#4e7eeb;font-size:12">'.$d['secteur'].'</td> </tr>'; } } else //test si le traitement se fait jusque la { echo 'aucun résultat retourné'; }
Utilisateur anonyme
25 févr. 2013 à 12:57
25 févr. 2013 à 12:57
Je ne vois pas d'erreur de syntaxe dans ta requête. Mysql non plus apparemment, puisque le le or die.. du mysql_query n'affiche pas d'erreur.
Pourtant, le résultat du mysql est incorrect : le print_r($q); aurait dû t'afficher Resource id #qqchose et pas simplement 1.
Peux-tu donner tout le code de la page jusqu'à la ligne 110 (en cachant les mots de passe évidemment) ?
Pourtant, le résultat du mysql est incorrect : le print_r($q); aurait dû t'afficher Resource id #qqchose et pas simplement 1.
Peux-tu donner tout le code de la page jusqu'à la ligne 110 (en cachant les mots de passe évidemment) ?
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 13:10
25 févr. 2013 à 13:10
Meerci à vos réponses,alors voilà le code de toute la page,(sinon avez vous lu mon dernier statut des index..car si les tables sont légères j'ai les résultats sinon j'ai rien!?)
<?php
ob_start();
include('connexion.php');
//Pour exporter les résultats dans un fichier Excel
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=Non_Visites.xls");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script language="javascript">
function edition()
{
options = "Width=950%,Height=900%" scroll=true ;
window.open( "edition_listes.php", "edition", options ) ;
}
</script>
<style type="text/css">
.ds_box {
background-color: #FFF;
border: 1px solid #000;
position: absolute;
z-index: 32767;
}
.ds_tbl {
background-color: #FFF;
}
.ds_head {
background-color: #333;
color: #FFF;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
text-align: center;
letter-spacing: 2px;
}
.ds_subhead {
background-color: #CCC;
color: #000;
font-size: 12px;
font-weight: bold;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
width: 32px;
}
.ds_cell {
background-color: #EEE;
color: #000;
font-size: 13px;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
padding: 5px;
cursor: pointer;
}
.ds_cell:hover {
background-color: #F3F3F3;
} /* This hover code won't work for IE */
.style6 {color: #0066FF}
.style7 {color: #4e7eeb}
.style8 {color: #000033}
.style9 {font-size: 10px}
.style10 {font-weight: bold}
.style11 {color: #000000}
</style>
</head>
<body>
<form name="form2" id="form2">
<div align="left" class="style10">
<p align="left" class="style19"><font color="green" ></span><span class="style7"><strong>Médecins Non visités </strong></span></p>
</div>
</form>
<table width="87%" height="30" border="1" cellspacing="0" bgcolor="#ffffff">
<tr>
<th width="174" bgcolor="#FFFFCC" class="style13 style7 style9">Medecin</th>
<th width="140" bgcolor="#FFFFCC"><span class="style13 style7 style9">Representant </span></th>
<th width="89" bgcolor="#FFFFCC" class="style13 style7 style9">Liste</th>
<th width="141" bgcolor="#FFFFCC" class="style13 style7 style9">Region</th>
<th width="117" bgcolor="#FFFFCC" class="style13 style7 style9">Ville</th>
<th width="99" bgcolor="#FFFFCC" class="style13 style7 style9">Secteur</th>
</tr>
<?php
$q= mysql_query(" SELECT * FROM avisiter av WHERE
NOT EXISTS ( SELECT (id_listevisite) FROM listevisite lv WHERE av.pharam_id = lv.pharam_id ) ");
print_r($q);
while($d=mysql_fetch_assoc($q)){
echo' <tr>
<td style="color:#4e7eeb;font-size:12">'.$d['nom'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['nomm'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['liste'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['region'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['ville'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['secteur'].'</td>
</tr>';
}
ob_end_flush();
?>
</table>
</body>
</html>
<?php
ob_start();
include('connexion.php');
//Pour exporter les résultats dans un fichier Excel
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=Non_Visites.xls");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script language="javascript">
function edition()
{
options = "Width=950%,Height=900%" scroll=true ;
window.open( "edition_listes.php", "edition", options ) ;
}
</script>
<style type="text/css">
.ds_box {
background-color: #FFF;
border: 1px solid #000;
position: absolute;
z-index: 32767;
}
.ds_tbl {
background-color: #FFF;
}
.ds_head {
background-color: #333;
color: #FFF;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
text-align: center;
letter-spacing: 2px;
}
.ds_subhead {
background-color: #CCC;
color: #000;
font-size: 12px;
font-weight: bold;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
width: 32px;
}
.ds_cell {
background-color: #EEE;
color: #000;
font-size: 13px;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
padding: 5px;
cursor: pointer;
}
.ds_cell:hover {
background-color: #F3F3F3;
} /* This hover code won't work for IE */
.style6 {color: #0066FF}
.style7 {color: #4e7eeb}
.style8 {color: #000033}
.style9 {font-size: 10px}
.style10 {font-weight: bold}
.style11 {color: #000000}
</style>
</head>
<body>
<form name="form2" id="form2">
<div align="left" class="style10">
<p align="left" class="style19"><font color="green" ></span><span class="style7"><strong>Médecins Non visités </strong></span></p>
</div>
</form>
<table width="87%" height="30" border="1" cellspacing="0" bgcolor="#ffffff">
<tr>
<th width="174" bgcolor="#FFFFCC" class="style13 style7 style9">Medecin</th>
<th width="140" bgcolor="#FFFFCC"><span class="style13 style7 style9">Representant </span></th>
<th width="89" bgcolor="#FFFFCC" class="style13 style7 style9">Liste</th>
<th width="141" bgcolor="#FFFFCC" class="style13 style7 style9">Region</th>
<th width="117" bgcolor="#FFFFCC" class="style13 style7 style9">Ville</th>
<th width="99" bgcolor="#FFFFCC" class="style13 style7 style9">Secteur</th>
</tr>
<?php
$q= mysql_query(" SELECT * FROM avisiter av WHERE
NOT EXISTS ( SELECT (id_listevisite) FROM listevisite lv WHERE av.pharam_id = lv.pharam_id ) ");
print_r($q);
while($d=mysql_fetch_assoc($q)){
echo' <tr>
<td style="color:#4e7eeb;font-size:12">'.$d['nom'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['nomm'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['liste'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['region'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['ville'].'</td>
<td style="color:#4e7eeb;font-size:12">'.$d['secteur'].'</td>
</tr>';
}
ob_end_flush();
?>
</table>
</body>
</html>
Gornarf
Messages postés
121
Date d'inscription
vendredi 19 février 2010
Statut
Membre
Dernière intervention
15 mai 2014
3
25 févr. 2013 à 13:29
25 févr. 2013 à 13:29
width: 950% Ooooooo
Utilisateur anonyme
25 févr. 2013 à 14:10
25 févr. 2013 à 14:10
Où est le or die(mysql_error()) ?
Et pourquoi ces headers fantaisistes alors que tu génères du html tout simple ? Mais c'est un autre problème, avec ton javascript incorrect.
[edit] Je retire ce que j'ai écrit pour les headers fantaisistes, je viens de faire l'essai. Je n'aurais jamais cru qu'on pouvait donner à Excel du html pur et dur.
Par contre il y a quand même un problème de javascript.
[edit] Je retire ce que j'ai écrit pour les headers fantaisistes, je viens de faire l'essai. Je n'aurais jamais cru qu'on pouvait donner à Excel du html pur et dur.
Par contre il y a quand même un problème de javascript.
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 15:43
25 févr. 2013 à 15:43
comme j'ai indiqué le problème est fortement probable de lla part des tables trop chargés..comment faire pour ajouter les index à ma requete ?
Utilisateur anonyme
25 févr. 2013 à 15:49
25 févr. 2013 à 15:49
Ce n'est pas à la requête, mais aux tables qu'il faut ajouter des index.
Puisque tu fais une comparaison av.pharam_id = lv.pharam_id, il faut ajouter un index sur le champ pharam_id sur les deux tables. Ça se fait facilement avec phpmyadmin, mais si tes tables sont volumineuses, la création d'index peut prendre un moment.
Puisque tu fais une comparaison av.pharam_id = lv.pharam_id, il faut ajouter un index sur le champ pharam_id sur les deux tables. Ça se fait facilement avec phpmyadmin, mais si tes tables sont volumineuses, la création d'index peut prendre un moment.
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 16:04
25 févr. 2013 à 16:04
oui,j'ai ajouté CREATE UNIQUE INDEX PharamAVISI_IDX1 ON avisiter(pharam_id) à la table avisiter
et CREATE UNIQUE INDEX PharamLISTVI_IDX1 ON listevisite(pharam_id) à la table listevisite
Mais dans la requête,il faut normalement ajouter ces index non ?
alors j'ai fait : SELECT *
FROM avisiter av
WHERE NOT EXISTS (SELECT (id_listevisite)
FROM listevisite lv
WHERE lv.PharamAVISI_IDX1 = av.PharamAVISI_IDX1) ;
mais ça donne erreur de : #1054 - Unknown column 'lv.PharamAVISI_IDX1' in 'where clause'
et CREATE UNIQUE INDEX PharamLISTVI_IDX1 ON listevisite(pharam_id) à la table listevisite
Mais dans la requête,il faut normalement ajouter ces index non ?
alors j'ai fait : SELECT *
FROM avisiter av
WHERE NOT EXISTS (SELECT (id_listevisite)
FROM listevisite lv
WHERE lv.PharamAVISI_IDX1 = av.PharamAVISI_IDX1) ;
mais ça donne erreur de : #1054 - Unknown column 'lv.PharamAVISI_IDX1' in 'where clause'
Utilisateur anonyme
Modifié par le père. le 25/02/2013 à 16:37
Modifié par le père. le 25/02/2013 à 16:37
Je ne suis pas spécialiste SQL, mais il me semble bien que ce sont les champs qu'il faut indiquer et non pas les index. MySQL utilise les index s'il les juge appropriés.
Pour vérifier s'il s'en sert, utilise une commande EXPLAIN : https://dev.mysql.com/doc/refman/8.0/en/verifying-index-usage.html
Pour vérifier s'il s'en sert, utilise une commande EXPLAIN : https://dev.mysql.com/doc/refman/8.0/en/verifying-index-usage.html
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 17:17
25 févr. 2013 à 17:17
hmmm quand j'ai essayé d'indexé les tables,ça me donne l'erreur:
1062 - Duplicate entry '3135' for key 'PharamLISTVI_IDX1'
??
1062 - Duplicate entry '3135' for key 'PharamLISTVI_IDX1'
??
Utilisateur anonyme
25 févr. 2013 à 17:25
25 févr. 2013 à 17:25
Et qu'est-ce que tu ne comprends pas à ce message ? Visiblement, tu essayes de définir une clé unique alors que tu as deux fois la même valeur. À toi de savoir si pharam_id peut ou non apparaître deux fois dans ta table. Si c'est possible, tu n'as pas à définir un index UNIQUE et si ce n'est as possible, il faut corriger tes données.
Il y a une chose que moi je ne comprends pas. C'est qu'à ton message #16, tu disais que tu avais créé ces index, et maintenant tu me dis qu'il y a une erreur en les créant. Alors ?
Il y a une chose que moi je ne comprends pas. C'est qu'à ton message #16, tu disais que tu avais créé ces index, et maintenant tu me dis qu'il y a une erreur en les créant. Alors ?
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 17:30
25 févr. 2013 à 17:30
oui car au début je les crées sur la base en local(qui a pas des doublons) mais sur la Db réelle il y on a des doublons pour pharam_id :)
Donc,pour ces doublons dans le champs pharam_id je peux pas les enlever car ça fait parti des données.
alors puisque c'est le cas tu qu'est ce que tu me propose come solution ?
merci d'avance pour votre suivie
Donc,pour ces doublons dans le champs pharam_id je peux pas les enlever car ça fait parti des données.
alors puisque c'est le cas tu qu'est ce que tu me propose come solution ?
merci d'avance pour votre suivie
meskina
Messages postés
50
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
26 septembre 2013
25 févr. 2013 à 17:59
25 févr. 2013 à 17:59
yuppiiii!ça marche maintenant!
alors v oilà mon problème était justement dans l'optimisation de la table,j'ai utilisé les index sur les tables,maintenant ça marche bien
merci bcp min père :p
alors v oilà mon problème était justement dans l'optimisation de la table,j'ai utilisé les index sur les tables,maintenant ça marche bien
merci bcp min père :p